那些你不知道的Python控制結構(五)-while迴圈
你認識Python所有的控制結構嗎?還不會的話,就跟著我們一起來認識吧!(五)
Python-while 迴圈
在Python教學中的 if 條件判斷式【請參考:Python控制結構2.if else條件判斷(1)】,假設評估為 True【請參考:Python控制結構1.布林值Boolean-True or False?】 的話,就會執行一次;反之則不執行。Python 的 while 迴圈跟 if 條件判斷式相似,但是不同的是,它不只執行一次。只要條件成立,它就會不斷地重複執行。就算是有其中一段代碼被評估為 False,下一段代碼仍然會被執行。
while 迴圈構成,包含了 。
以下示範的 while 迴圈中有一個變數「i」,初始值為「1」;更新值(又稱為調整值)為「i+1」;讓迴圈結束的條件為「i <=5」。
以下示範是讓 i 的從初始值開始,程式每執行一次,i 就等於上一回合的數值再「+1」一次,直到 i 等於 5 為止停止,寫法如下:
i = 1 #初始值 while i <=5: #讓迴圈結束的條件 print(i) i = i + 1 #更新值 (調整)則結果為:
1 2 3 4 5 >>>
while迴圈的「infinite loop(無限循環)」
Python 的 while 迴圈中,有一種被稱作「infinite loop(無限循環)」,當條件(為True)成立時,程式就會永無止盡地重複執行。「infinite loop(無限循環)」的範例如下:
while 7==7: print("這是無限循環迴圈")結果,「這是無限循環迴圈」這行字就會不斷的重複顯示。
如果你真的受不了,你可以按鍵盤快速鍵「Ctrl-C」來阻止它繼續重複顯示。
以下也是無限循環迴圈的另一個例子,看看它的結果如何。
x=1 >>> while x>0: print(x) x+2結果馬上會跳出一堆數字,且不斷的在跳出中。後出來的數字,都是前一個數字 +2 的結果。真的受不了,就按鍵盤快速鍵「Ctrl-C 」跳出吧!
跳出while迴圈:break
要結束 while 迴圈循環,就得使用 break 敘述。在迴圈循環時,一遇到 break 敘述,就會讓迴圈立即停止循環。範例如下:i = 1 #初始值 while 1==1: print(i) i = i + 1 #更新值 (調整) if i >= 5: #讓迴圈結束的條件 print("Breaking") break >>>上述的代碼,意思若「1 等於 1」的敘述為真,則 i 就從 1 開始輸出,之後程式跑到「i = i + 1」,i 就以 i+1 的形式繼續循環輸出,直到 i 為「5」時,就輸出「Breaking」並結束循環。因此這段 Python 程式的執行結果為:
1 2 3 4 Breaking
繼續while迴圈:continue
Python 的 while 迴圈中,有一個與 break 敘述相對的,就是 continue —— 跳回到迴圈的頂部繼續循環,而不是停止循環。i = 1 #初始值 while True: print(i) i = i + 1 #更新值 (調整) if i == 5: print("Skipping 5") continue if i == 7: #讓迴圈結束的條件 print("Breaking") break上述的 Python 代碼,意思若「1 等於 1」的敘述為真,則 i 就從 1 開始輸出,之後程式跑到「i = i + 1」,i 就以 i+1 的形式繼續循環輸出,直到 i 等於「5」時,就輸出「Skipping 5」並且跳回到迴圈的頂部「print(i)」繼續從「5」循環,直到 i 等於「7」時輸出「Breaking」並結束循環。因此這段 Python 程式的執行結果如下所示:
1 2 3 4 Skipping 5 5 6 Breaking
更多閱讀:
Python控制結構1.布林值Boolean-True or False?
Python控制結構2.if else條件判斷(1)
Python控制結構2.if else條件判斷(2)
Python控制結構3.布林邏輯:and,or,not
Python控制結構4.運算子優先順序(Operator precedence)一覽
Python控制結構5.while 迴圈
Python控制結構7.List串列與其他運算子的應用
Python控制結構8.List-append,insert,index,len函數
Python控制結構9.Range數列生成
Python控制結構10.for迴圈
Python控制結構11.實作簡單的計算機
Python控制結構2.if else條件判斷(1)
Python控制結構2.if else條件判斷(2)
Python控制結構3.布林邏輯:and,or,not
Python控制結構4.運算子優先順序(Operator precedence)一覽
Python控制結構5.while 迴圈
Python控制結構7.List串列與其他運算子的應用
Python控制結構8.List-append,insert,index,len函數
Python控制結構9.Range數列生成
Python控制結構10.for迴圈
Python控制結構11.實作簡單的計算機