1. 控制變數初始設定 |
2. 迴圈結束條件測試 |
3. 調整控制變數的值 |
關鍵字 (keyword) while 構成 Python 中迴圈的一種,常用於沒有確定重複次數的迴圈,同時 while 後到冒號間的運算式 (expression) 為迴圈結束的條件 (condition) 測試,即為迴圈開始前進行迴圈結束條件的測試,形式如下
while condition: |
由於 while 陳述僅需迴圈的結束條件測試,所以有關控制變數 (variable) 的初始設定及調整,這都需要放在其它地方。
下例計算 1 到 100 所有整數的和,示範 while 迴圈的簡單使用
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | sum = 0 i = 1 while i < = 100 : sum + = i i + = 1 print ( "1 + 2 + 3 + ... + 98 + 99 + 100 =" , sum ) # 《程式語言教學誌》的範例程式 # 檔名:cf10.py # 功能:示範 Python 程式 # 作者:張凱慶 # 時間:西元 2010 年 12 月 |
執行結果如下

第 3 行即 while 陳述所在之處
3 | while i < = 100 : |
迴圈也可以是巢狀的 (nested) ,所謂巢狀的迴圈是指迴圈中包含其他的迴圈,如下例程式印出九九乘法表,就是利用兩個 while 迴圈,一個 while 迴圈之中包含另一個 while 迴圈
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | i = 1 j = 1 while i < = 9 : while j < = 9 : print (i * j, end = " " ) j + = 1 i + = 1 j = 1 print () # 《程式語言教學誌》的範例程式 # 檔名:cf11.py # 功能:示範 Python 程式 # 作者:張凱慶 # 時間:西元 2010 年 12 月 |
執行結果如下

若利用關鍵字 break 則可以挑出迴圈,而利用關鍵字 continue 則會跳過迴圈這一輪的執行。下例在印出九九乘法表的程式中加入了 break 與 continue 陳述
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 | i = 1 j = 1 while i < = 9 : if i = = 8 : break while j < = 9 : if j = = 4 : j + = 1 continue print (i * j, end = " " ) j + = 1 i + = 1 j = 1 print () # 《程式語言教學誌》的範例程式 # 檔名:cf12.py # 功能:示範 Python 程式 # 作者:張凱慶 # 時間:西元 2010 年 12 月 |
執行結果如下

第 5 行使用 break 陳述,因此只印到 7 為止,此外,第 10 行使用 contiune 陳述,因此乘法表的 4 不會被印出。
中英文術語對照 | |
---|---|
迴圈 | loop |
關鍵字 | keyword |
運算式 | expression |
條件 | condition |
變數 | variable |
巢狀的 | nested |
參考資料
http://docs.python.org/py3k/reference/compound_stmts.html
http://docs.python.org/py3k/tutorial/controlflow.html
http://docs.python.org/py3k/reference/compound_stmts.html
http://docs.python.org/py3k/tutorial/controlflow.html
1 則留言:
謝謝你的貢獻
張貼留言