python中while...else語法
阿新 • • 發佈:2018-11-22
今天簡單說下while...else的用法,據說它是python中不常用卻又經常引起誤解的語法。
先看下下面的程式執行結果
count = 6 while count < 10: print(count) if count == 5: break count += 1 else: print('正常執行結束')
執行結果:
6
7
8
9
正常執行結束
以上break語句沒有執行,下面的else語句執行了,再看下面的程式執行結果:
count = 11 while count < 10: print(count) if count == 5: break count += 1 else: print('正常執行結束')
執行結果:
正常執行結束
上面整個迴圈內的語句只執行了條件判斷,最後else語句也執行了,再看下面的程式執行結果:
count = 1 while count < 10: print(count) if count == 5: break count += 1 else: print('正常執行結束')
執行結果:
1
2
3
4
5
以上迴圈語句執行了一部分,通過執行break語句退出了迴圈,else語句沒有被執行,結果表明,else只有在迴圈不正常退出時才會不執行,正常迴圈執行結束後就會執行else語句。
再說明一點,不正常退出迴圈的情況包括break語句中斷迴圈,return語句結束迴圈,和其他一些異常情況。即在迴圈內不執行break,return語句或者沒有異常情況時都會執行else語句。
在python中還有for...else語句,與while...else語句同理。