迴圈語句

一般程式語言都有循環語句,循環語句允許我們執行一個語句或語句組多次。

循環語句的一般形式如下:

0917f20fea2f3027c12bd036eb7ad4a.png

#Python 提供了for 循環和while 循環,當然還有一些控制循環的語句:

循環控制語句描述
break 在語句區塊執行過程中終止循環,並且跳出整個循環
continue 在語句區塊執行過程中終止目前循環,跳出該次循環,執行下一次循環
passpass 是空語句,是為了維持程式結構的完整性

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迴圈可以遍歷任何序列的項目,如一個列表或一個字串

它的流程圖基本上如下:

b553560177ec037fa1db4fbef038d7f.png

基本的語法格式:

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 循環

繼續學習