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