Python while迴圈及用法詳解

2020-07-16 10:05:25
在解決實際問題的過程中往往存在規律性的重複操作,因此在程式中需要重複執行某些語句。一組被重複執行的語句稱為迴圈體,迴圈的終止條件決定迴圈能否繼續重複。Python 中的迴圈語句主要有 while 和 for 兩種,沒有 do…while… 結構。本節教學先來介紹 while 迴圈

while 迴圈的主要語法形式如下:

while 條件表示式:
    語句


與 if 語句相似,while 迴圈的條件表示式也無須括號,且表示式末尾必須新增冒號。當條件表示式計算結果為 True 時,執行下一行縮排的語句;若條件表示式計算結果為 False,則跳過該條語句繼續向下執行。例如:
n = 10
sum = 0
i = 1
while i <= n:
    sum = sum + i
    i += 1
print("1 到 %d 之和為:%d" %(n,sum))
上述程式碼的執行結果如下所示:

>>> n = 10
>>> sum = 0
>>> while i <= n:
            sum = sum + i
            i += 1

>>> print("1 到 %d 之和為:%d" %(n,sum))
1 到 10 之和為:55


while 迴圈可以帶有 else 子句,用於在條件表示式為 False 時執行相應的語句,例如:
count = 1
while count < 10:
    print(count,"小於 10")
    count += 1
else :
    print(count,"大於或等於10")
上述程式碼的執行結果如下所示:

>>> count = 1
>>> while count < 10:
            print(count,"小於 10")
            count += 1
        else :
            print(count,"大於或等於10")

1 小於 10
2 小於 10
3 小於 10
4 小於 10
5 小於 10
6 小於 10
7 小於 10
8 小於 10
9 小於 10
10 大於或等於10


可以通過設定條件表示式為恆等式實現無限迴圈,例如:
import time
while 1==1:
    print(time.strftime('%Y-%m-%d %H:%M:%S', time.localtime(time.time())))
上述程式碼的執行結果如下所示:

2020-05-29 09:40:26
2020-05-29 09:40:26
2020-05-29 09:40:26
2020-05-29 09:40:26
2020-05-29 09:40:26
2020-05-29 09:40:26
2020-05-29 09:40:26
2020-05-29 09:40:26
2020-05-29 09:40:26
2020-05-29 09:40:26
2020-05-29 09:40:26
2020-05-29 09:40:26
2020-05-29 09:40:26
2020-05-29 09:40:26
2020-05-29 09:40:26
2020-05-29 09:40:26

出現無限迴圈時可以使用Ctrl+C組合鍵中斷迴圈。