文章目錄
本單元測驗:
電腦非常適合做重複的事而且不會抱怨,而程式設計師則是善於透過迴圈 (loops),讓電腦為他們做重複性的工作,兩種常見迴圈類型如下:
- for loops:當您知道要執行程式碼區塊的次數時,可以使用 for loops。例如列印 10 次 “肚子餓!”
- while loops:如果您不知道要重複執行程式碼區塊的次數時,您可以使用 while loops。
1. while loops 迴圈條件
while loops 沒有設定迴圈次數,但會有一個迴圈條件。利用布林表示式 (Boolean Expression) 來表示,可以是 True 或 False。例如要進戲院看電影時,服務員會問您是否有票,如果你有 (True) 就可以進入看電影;如果你沒有 (False),將不能進入看電影。在程式中,如果迴圈條件不是 True,你就不會進入迴圈處裡任何事(看電影)!
2. while loop 敘述
2.1 while .. loop 敘述語法(Syntax)
範例 1:while .. loop 敘述 (I)
2.2 while .. loop 流程圖(Flowchart)
範例 2:while .. loop 敘述 (II)
3. while .. else 敘述
3.1 while .. else 敘述語法(Syntax)
3.2 while .. else 流程圖(Flowchart)
範例 3:while .. else 敘述
4. 無窮迴圈
有時您可能需要一個 while 迴圈一直保持程式持續運行,這種迴圈稱為無窮迴圈,許多電玩遊戲會使用無窮迴圈來當作主迴圈。若將迴圈條件設為 True 來進行無窮迴圈,因為這個值永遠不會改變,所以迴圈永遠不會離開。下方範例因為沒有 False 選項,所以迴圈將一直列印 ‘這是一個無窮迴圈!’,直到按 Ctrl + C 或關閉退出程序。
您可以故意使用無窮迴圈來取得使用者輸入的值,然後透過程式一直詢問是否覺得很無聊,只要他們輸入’n’,它就會一直重複問這個問題,如果使用者輸入’y’,則程式會告訴使用者可以去看電影,並使用 break 命令離開迴圈!(break 命令會在下一篇文章當中介紹)
了解 Python 迴圈是掌握多功能程式語言的許多步驟之一。希望本篇文章能幫助您理解 Python 中的 while loop 迴圈語句用法及流程控制,並透過一些範例來進行動手練習,後續會持續分享 Python 相關學習文章給有興趣的初學者。
5. Python 練習
學習環境:Google Colab (學習請按我)
練習範例:有 (本文提供)
Quiz:有 (測驗請按我)
如果你喜歡這篇文章歡迎訂閱、分享(請載名出處)與追蹤,並持續關注最新文章。同時 FB 及 IG 也會不定期提供國內外教育與科技新知。
【Python for Beginner 系列文章】
Python for Beginners (1)|Python 介紹及相關開發環境簡介
Python for Beginners (2)|變數 (Variables) 及關鍵字 (Keywords)
Python for Beginners (3)|敘述 (Statement)、縮排 (Indentation) 及註解 (Comments)
Python for Beginners (4)|運算子 (Operators)、輸入 (Input)、輸出 (Output)及 import 簡介
Python for Beginners (5)|各類運算子 (Operators) 詳細介紹與使用
Python for Beginners (6)|數值 (Numeric) 資料型態介紹與使用
Python for Beginners (7)|字串 (String) 資料型態介紹與使用
Python for Beginners (8)|布林 (Boolean) 資料型態介紹與使用
Python for Beginners (9)|串列 (List) 資料型態介紹與使用
Python for Beginners (10)|元組 (Tuple) 資料型態介紹與使用
Python for Beginners (11)|集合 (Set) 資料型態介紹與使用
Python for Beginners (12)|字典 (Dictionary) 資料型態介紹與使用
Python for Beginners (13)|條件判斷式 – if 相關敘述及使用
Python for Beginners (14)|迴圈控制 – while loops
Python for Beginners (15)|迴圈控制 – for loops
Python for Beginners (16)|函式 (Functions)
Python for Beginners (17)|模組 (Module)及套件(Package)
Python for Beginners (18)|檔案處理 (File Handling)