Python基礎(07):迴圈

Ryan_Bai發表於2019-02-13

一、概述

Python中的迴圈語句有 for 和 while。

Python迴圈語句的控制結構圖如下所示:

二、while 迴圈

  • 語法:

    while 判斷條件:
        <statements>
    else:
        <statements
    
  • 說明:
    當符合條件時,進行迴圈。當不再符合條件時,跳出迴圈

三、for 語句

  • 語法:

    for <variable> in <sequence>:
        <statements>
    else:
        <statements
    
  • 說明
    用於遍歷任何序列的專案,如一個列表或者一個字串。

四、range()函式

  • 如果你需要遍歷數字序列,可以使用內建range()函式。它會生成數列

    for i in range(5):
        print(i) 
    1
    2
    3
    4
    
  • 也可以使用range指定區間的值

    for i in range(5,9) :
        print(i)
     
    5
    6
    7
    8
    
  • 可以使range以指定數字開始並指定不同的增量(甚至可以是負數,有時這也叫做'步長'

    for i in range(0, 10, 3) :
        print(i)
     
    3
    6
    9
    
  • 可以結合range()和len()函式以遍歷一個序列的索引

    a = ['Google', 'Baidu', 'Runoob', 'Taobao', 'QQ']
    for i in range(len(a)):
        print(i, a[i])
     0 Google
    1 Baidu
    2 Runoob
    3 Taobao
    4 QQ
    
  • 可以使用range()函式來建立一個列表

    list(range(5))
     [0, 1, 2, 3, 4]
    

五、break和continue語句及迴圈中的else子句

  • break

    • 說明
      break 語句可以跳出 for 和 while 的迴圈體。如果你從 for 或 while 迴圈中終止,任何對應的迴圈 else 塊將不執行。

    • 例子

      for letter in 'Runoob':    # 第一個例項
        if letter == 'b':
            break
        print ('當前字母為 :', letter)
      
  • continue

    • 說明
      continue語句被用來告訴Python跳過當前迴圈塊中的剩餘語句,然後繼續進行下一輪迴圈。

    • 例子

      for letter in 'Runoob':    # 第一個例項
        if letter == 'o':        # 字母為 o 時跳過輸出
            continue
        print ('當前字母 :', letter)
      
  • 迴圈語句可以有 else 子句,它在窮盡列表(以for迴圈)或條件變為 false (以while迴圈)導致迴圈終止時被執行,但迴圈被break終止時不執行。

    for n in range(2, 10):
        for x in range(2, n):
            if n % x == 0:
                print(n, '等於', x, '*', n//x)
                break
        else:
            # 迴圈中沒有找到元素
            print(n, ' 是質數')
    

六、pass 語句

pass是空語句,是為了保持程式結構的完整性。

pass 不做任何事情,一般用做佔位語句

while True:
    pass  # 等待鍵盤中斷 (Ctrl+C)

最小的類:

class MyEmptyClass:
    pass

以下例項在字母為 o 時 執行 pass 語句塊:

for letter in 'Runoob':
  if letter == 'o':
      pass
      print ('執行 pass 塊')
  print ('當前字母 :', letter)

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31490526/viewspace-2629885/,如需轉載,請註明出處,否則將追究法律責任。

相關文章