1. 程式人生 > >python中while...else語法

python中while...else語法

今天簡單說下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語句同理。