迴圈用於重複執行一些程式塊。從上一講的選擇結構,我們已經看到了如何用縮排來表示程式塊的隸屬關係。迴圈也會用到類似的寫法。
for迴圈
for迴圈需要預先設定好迴圈的次數(n),然後執行隸屬於for的語句n次。
基本構造是
1 2 |
for 元素 in 序列: statement |
舉例來說,我們編輯一個叫forDemo.py的檔案
1 2 |
for a in [3,4.4,'life']: print a |
這個迴圈就是每次從表[3,4.4,’life’] 中取出一個元素(回憶:表是一種序列),然後將這個元素賦值給a,之後執行隸屬於for的操作(print)。
介紹一個新的Python函式range(),來幫助你建立表。
1 2 |
idx = range(5) print idx |
可以看到idx是[0,1,2,3,4]
這個函式的功能是新建一個表。這個表的元素都是整數,從0開始,下一個元素比前一個大1, 直到函式中所寫的上限 (不包括該上限本身)
(關於range(),還有豐富用法,有興趣可以查閱, Python 3中, range()用法有變化,見評論區)
舉例
1 2 |
for a in range(10): print a**2 |
while迴圈
while的用法是
1 2 |
while 條件: statement |
while會不停地迴圈執行隸屬於它的語句,直到條件為假(False)
舉例
1 2 3 |
while i < 10: print i i = i + 1 |
中斷迴圈
continue # 在迴圈的某一次執行中,如果遇到continue, 那麼跳過這一次執行,進行下一次的操作
break # 停止執行整個迴圈
1 2 3 4 |
for i in range(10): if i == 2: continue print i |
當迴圈執行到i = 2的時候,if條件成立,觸發continue, 跳過本次執行(不執行print),繼續進行下一次執行(i = 3)。
1 2 3 4 |
for i in range(10): if i == 2: break print i |
當迴圈執行到i = 2的時候,if條件成立,觸發break, 整個迴圈停止。
總結
range()
for 元素 in 序列:
while 條件:
continue
break