循環用戶重復執行一些程序塊。從上一講的選擇結構,我們已經看到了如何用縮進來表示程序塊的隸屬關系。循環也會用到類似的寫法。
for循環
for循環需要預先設定好循環的次數(n),然后執行隸屬于for的語句n次。
基本構造是:
for 元素 in 序列:
statenent(#statenent是聲明的意思)
舉例來說,我們編輯一個叫forDemo.py的文件:
for a in [3,4,4,'life']:
print a
上面這個循環就是每次從表[3,4,4,'life']
中取出一個元素(回憶:表示一種序列),然后將這個元素賦值給a
,之后執行隸屬于for
的操作(print
)。
這里介紹一個新的python函數range(),來幫助你建立表。
idx = range(5)
print idx
可以看到idx是[0,1,2,3,4]
這個函數的功能是新建一個表。這個表的元素都是整數。從0開始,下一個元素比前一個元素大1,直到函數中所寫的上限(但不包括上限本身)。
(關于range(),還有豐富用法,有興趣可以查閱。python3.0中,range()用法有改變。)
舉例:
for a in range(10):
print a**2
while循環:
while的用法是:
while 條件:
statenent
while會不停地循環執行隸屬于它的語句,直到條件為假(False)
舉例:
while i < 10:
print i
i = i + 1
中斷循環:
continue #在循環的某一次執行中,如果遇到continue,那么跳過這一次的執行,進行下一次的操作
break #停止執行整個循環
for i in range():
if i == 2:
continue
print i
當循環執行到i = 2的時候,if條件成立,觸發continue,跳過本次執行(不執行print),繼續進行下一次執行(i = 3)。所以,這里打印的結果為:
0
1
3
4
5
6
7
8
9
for i in range(10):
if i == 2:
break
print i
當循環執行到i = 2的時候,if條件成立,觸發break,整個循環停止。這里執行的結果為:
0
1
總結:
range() #新建表
for 元素 in 序列: #for循環寫法
while 條件: #while循環寫法
continue #跳過循環
break #停止循環