迴圈體與else搭配陷阱

2021-08-20 14:13:32 字數 2285 閱讀 7023

迴圈過程正常執行,沒有被break則執行else下面的語句

list

=range

(100

)for x in

list

:if x %

20==19:

print

(x)break

else

:print

("else"

)

19
這裡找到乙個數字,break跳出了迴圈,else不會執行.通常迴圈體+else搭配用來處理遍歷失敗之後要做的處理

list

=range

(100

)for x in

list

:if x %

20==19:

print

(x)break

else

:print

("else"

)

else

else

else

else

else

else

else

else

else

else

else

else

else

else

else

else

else

else

else

19

這裡else與if搭配,所以不滿足條件的時候會不斷列印else

list

=range

(100

)for x in

list

:if x %

20==19:

continue

print

(x)else

:print

("else"

)

else
只有break才可以不執行else,如果迴圈過程正常執行,沒有被break則執行else下面的語句.

while-else也類似:

count =

0while count <5:

print

(count,

" is less than 5"

) count = count +

1if count ==4:

break

else

:print

(count,

" is not less than 5"

)

0  is  less than 5

1 is less than 5

2 is less than 5

3 is less than 5

這裡break跳出去後,else語句就不會執行了

count =

0while count <5:

print

(count,

" is less than 5"

) count = count +

1else

:print

(count,

" is not less than 5"

)

0  is  less than 5

1 is less than 5

2 is less than 5

3 is less than 5

4 is less than 5

5 is not less than 5

這裡還沒有跳出去就還會執行;

通常迴圈體+else搭配用來處理遍歷失敗之後要做的處理:

count =

0while count <10:

if(count //

15!=0)

and(count %

15==0)

:print

("找到15的倍數"

)break

count +=

1else

:print

("沒有15的倍數"

)

沒有15的倍數

迴圈體與else語句

大家一定非常熟悉else關鍵字語句,else通常是用來配合if語句使用的,但是在python的else語句並不只能用在if語句之後,還可以用在迴圈語句甚至try異常處理語句中,這雖然不是什麼秘密,但是很多人沒有發現它的好處。for else 預設情況下,只有當for迴圈語句正常執行後,最後才會執行e...

forEach跳出迴圈體

在foreach中,不能使用 continue 和 break 可以使用 return 或 return false 跳出迴圈,效果與 for 中 continue 一樣。注意該方法無法一次結束所有迴圈。foreach 跳出本次迴圈,使用return 1,2,3,4,5 foreach functi...

例項039 終止迴圈體

心法領悟039 用break避免死迴圈。充分利用迴圈可以提高程式的開發與執行效率,但是如果不注重迴圈中的演算法很容易導致程式的死迴圈,那將是程式的死穴。所以在迴圈體中要對可能出現的特殊情況適用break語句中斷迴圈。public class breakcyc system.out.println 在...