迴圈語(yǔ)句
一般程式語(yǔ)言都有循環(huán)語(yǔ)句,循環(huán)語(yǔ)句允許我們執(zhí)行一個(gè)語(yǔ)句或語(yǔ)句組多次。
循環(huán)語(yǔ)句的一般形式如下:
#Python 提供了for 循環(huán)和while 循環(huán),當(dāng)然還有一些控制循環(huán)的語(yǔ)句:
循環(huán)控制語(yǔ)句 | 描述 |
break? | 在語(yǔ)句區(qū)塊執(zhí)行過(guò)程中終止循環(huán),並且跳出整個(gè)循環(huán) |
continue? | 在語(yǔ)句區(qū)塊執(zhí)行過(guò)程中終止目前循環(huán),跳出該次循環(huán),執(zhí)行下一次循環(huán) |
pass | pass 是空語(yǔ)句,是為了維持程式結(jié)構(gòu)的完整性 |
1、While 迴圈語(yǔ)句
count = 1 sum = 0 while (count <= 100): sum = sum + count count = count + 1 print(sum)
輸出的結(jié)果:
5050
當(dāng)然while 語(yǔ)句時(shí)還有另外兩個(gè)重要的指令continue,break 來(lái)跳過(guò)循環(huán),continue 用於跳過(guò)該次循環(huán),break 則是用於退出循環(huán)
比如,上面的例子是計(jì)算1 到100 所有整數(shù)的和,當(dāng)我們需要判斷sum 大於1000 的時(shí)候,不在相加時(shí),可以用到break ,退出整個(gè)循環(huán)
count = 1 sum = 0 while (count <= 100): sum = sum + count if ( sum > 1000): #當(dāng) sum 大于 1000 的時(shí)候退出循環(huán) break count = count + 1 print(sum)
輸出的結(jié)果:
1035
有時(shí)候,我們只想統(tǒng)計(jì)1 到100 之間的奇數(shù)和,那麼也就是說(shuō)當(dāng)count 是偶數(shù),也就是雙數(shù)的時(shí)候,我們需要跳出當(dāng)次的循環(huán),不想加,這時(shí)候可以用到break
count = 1 sum = 0 while (count <= 100): if ( count % 2 == 0): # 雙數(shù)時(shí)跳過(guò)輸出 count = count + 1 continue sum = sum + count count = count + 1 print(sum)
輸出的語(yǔ)句:
2500
在Python 的while 迴圈中,也可以使用else 語(yǔ)句,while … else 在迴圈條件為false 時(shí)執(zhí)行else 語(yǔ)句區(qū)塊
例如:
count = 0 while count < 5: print (count) count = count + 1 else: print (count)
輸出的結(jié)果:
0 1 2 3 4 5
2、 for 迴圈語(yǔ)句
for迴圈可以遍歷任何序列的項(xiàng)目,如一個(gè)列表或一個(gè)字串
它的流程圖基本上如下:
基本的語(yǔ)法格式:
for iterating_var in sequence: statements(s)
實(shí)例:
for letter in 'Hello 兩點(diǎn)水': print(letter)
輸出的結(jié)果如下:
H e l l o 兩 點(diǎn) 水
有while … else 語(yǔ)句,當(dāng)然也有for … else 語(yǔ)句啦,for 中的語(yǔ)句和普通的沒有區(qū)別,else 中的語(yǔ)句會(huì)在迴圈正常執(zhí)行完(即for 不是透過(guò)break 跳出而中斷的)的情況下執(zhí)行,while … else 也是一樣。
for num in range(10,20): # 迭代 10 到 20 之間的數(shù)字 for i in range(2,num): # 根據(jù)因子迭代 if num%i == 0: # 確定第一個(gè)因子 j=num/i # 計(jì)算第二個(gè)因子 print ('%d 是一個(gè)合數(shù)' % num) break # 跳出當(dāng)前循環(huán) else: # 循環(huán)的 else 部分 print ('%d 是一個(gè)質(zhì)數(shù)' % num)
輸出的結(jié)果:
10 是一個(gè)合數(shù) 11 是一個(gè)質(zhì)數(shù) 12 是一個(gè)合數(shù) 13 是一個(gè)質(zhì)數(shù) 14 是一個(gè)合數(shù) 15 是一個(gè)合數(shù) 16 是一個(gè)合數(shù) 17 是一個(gè)質(zhì)數(shù) 18 是一個(gè)合數(shù) 19 是一個(gè)質(zhì)數(shù)
3、巢狀迴圈
Python 語(yǔ)言允許在一個(gè)迴圈體裡面嵌入另一個(gè)迴圈。上面的實(shí)例也是使用了巢狀循環(huán)的,這裡就不給實(shí)例了。
具體的語(yǔ)法如下:
for 循環(huán)巢狀語(yǔ)法
for iterating_var in sequence: for iterating_var in sequence: statements(s) statements(s)
while 迴圈巢狀語(yǔ)法##
while expression: while expression: statement(s) statement(s)除此之外,你也可以在循環(huán)體內(nèi)嵌入其他的循環(huán)體,如在while 循環(huán)中可以嵌入for 循環(huán), 反之,你可以在for 循環(huán)中嵌入while 循環(huán)