今天同事問我乙個python面試題,關於python跳出多層迴圈,原來還真沒用過,網上一查還真有點意思,下面記錄一下:
python 本身沒有「break n」 和「goto」 的語法,這也造成了python 難以跳出多層(特定層數)迴圈。下面是幾個跳出多層(特定層數)迴圈的tip。
class
getoutofloop
(exception):
pass
try:
for i
in range(5
):for
jinrange(5
):for
kinrange(5
):if
i==j==
k==3:
raise
getoutofloop
()else
:print i,
'----',j
,'----',k
except
getoutofloop
:pass
def
test
():for
iinrange(5
):for
jinrange(5
):for
kinrange(5
):if
i==j==
k==3:
return
else
:print i,
'----',j
,'----',k
test
()
上面的兩種都是只能跳出多層而不能跳出特定層數的迴圈,接下來的這個正是為了跳出特定層數的迴圈。
for
iinrange(5
):for
jinrange(5
):for
kinrange(5
):if
i==j==
k==3:
break
else
:print i,
'----',j
,'----',k
else
:continue
break
else
:continue
break
Python 如何跳出多重迴圈
在leetcode上刷演算法題的時候遇到了乙個問題,就是在python中不知道用什麼方法跳出多重迴圈。查閱相關資料後,參考博文中的方法成功解決。如下所示 for i in range 5 for j in range 5 for k in range 5 if i j k 3 break else ...
python跳出多重迴圈的方法
方法1 自定義異常 coding utf 8 功能 python跳出迴圈 方法1 自定義異常 class getoutofloop exception pass try for i in range 5 for j in range 5 if i j 2 raise getoutofloop els...
java跳出多重迴圈
普通的break和continue只能跳出乙個迴圈或者終止某一次迴圈。system.exit 0 與return表示退出程式。最近碰到乙個問題 在迴圈最裡層跳出多層迴圈 public class test system.out.println 外層迴圈 system.out.println 三層迴圈...