1. 控制變數初始設定 |
2. 迴圈結束條件測試 |
3. 調整控制變數的值 |
關鍵字 (keyword) while 構成 Python 中迴圈的一種,常用於沒有確定重複次數的迴圈,同時 while 後到冒號間的運算式 (expression) 為迴圈結束的條件 (condition) 測試,即為迴圈開始前進行迴圈結束條件的測試,形式如下
while condition:
由於 while 陳述僅需迴圈的結束條件測試,所以有關控制變數 (variable) 的初始設定及調整,這都需要放在其它地方。
下例計算 1 到 100 所有整數的和,示範 while 迴圈的簡單使用
sum = 0 i = 1 while i <= 100: sum += i i += 1 print("1 + 2 + 3 + ... + 98 + 99 + 100 =", sum) # 《程式語言教學誌》的範例程式 # http://pydoing.blogspot.com/ # 檔名:cf10.py # 功能:示範 Python 程式 # 作者:張凱慶 # 時間:西元 2010 年 12 月
執行結果如下
第 3 行即 while 陳述所在之處
while i <= 100:
迴圈也可以是巢狀的 (nested) ,所謂巢狀的迴圈是指迴圈中包含其他的迴圈,如下例程式印出九九乘法表,就是利用兩個 while 迴圈,一個 while 迴圈之中包含另一個 while 迴圈
i = 1 j = 1 while i <= 9: while j <= 9: print(i * j, end = " ") j += 1 i += 1 j = 1 print() # 《程式語言教學誌》的範例程式 # http://pydoing.blogspot.com/ # 檔名:cf11.py # 功能:示範 Python 程式 # 作者:張凱慶 # 時間:西元 2010 年 12 月
執行結果如下
若利用關鍵字 break 則可以挑出迴圈,而利用關鍵字 continue 則會跳過迴圈這一輪的執行。下例在印出九九乘法表的程式中加入了 break 與 continue 陳述
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() # 《程式語言教學誌》的範例程式 # http://pydoing.blogspot.com/ # 檔名: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 則留言:
謝謝你的貢獻
張貼留言