Python 中的循環語句有 for 和 while。
while 語句
Python 中 while 語句的一般形式:
while 判斷條件condition: 執行語句statements
同樣需要注意冒號和縮進。另外,在 Python 中沒有 do..while 循環。
以下實例使用了 while 來計算 1 到 100 的總和:
sum = 0 counter = 1 while counter <= 100: sum = sum + counter counter += 1 print("1 到 %d 之和為: %d" % (100, sum))
while 循環使用 else 語句
如果 while 后面的條件語句為 false 時,則執行 else 的語句塊。
while 語法格式如下:
while <expr>: <statement(s)> else: # expr 條件語句為false,則執行<additional_statement(s)> <additional_statement(s)>
expr 條件語句為 true 則執行 statement(s) 語句塊,如果為 false,則執行 additional_statement(s)。
循環輸出數字,並判斷大小:
count = 0 while count < 5: print (count, " 小於 5") count = count + 1 else: print (count, " 大於或等於 5")
結果:
0 小於 5 1 小於 5 2 小於 5 3 小於 5 4 小於 5 5 大於或等於 5
如果while循環體中只有一條語句,可以將該語句與while寫在同一行中。
for 語句
Python for 循環可以遍歷任何可迭代對象,如一個列表或者一個字符串。
for循環的一般格式如下:
for <variable> in <sequence>: <statements> else: # else 子句在循環正常完成時執行,這意味着循環沒有遇到任何 break 語句。 <statements>
示例:
for x in [1, 2, 3]: print(x)
range()函數
如果需要遍歷數字序列,可以使用內置range()函數。它會生成數列,例如:
for x in range(3): print(x)
range() 函數語法
range([start, ]stop[, step])
參數說明:
start: 計數從 start 開始。默認是從 0 開始。例如 range(5) 等價於range(0, 5); 0, 1, 2, 3, 4 , 沒有5。
stop: 計數到 stop 結束,但不包括 stop。例如:range(0,5) 是 0, 1, 2, 3, 4 , 沒有5。
step:步長,默認為1,可以為負數。例如:range(0, 5) 等價於 range(0, 5, 1)
range函數的返回值不是列表,也不是元組,是可迭代對象。以下示例只用於說明結果。
>>>list(range(5)) # 從 0 開始到 4 沒有5。 [0, 1, 2, 3, 4] >>> list(range(1, 5)) # 從 1 開始到 4 沒有5。 [1, 2, 3, 4] >>> list(range(0, 20, 5)) # 步長為 5 沒有20。 [0, 5, 10, 15] >>> list(range(0, 10, 3)) # 步長為 3 [0, 3, 6, 9] >>> list(range(0, -4, -1)) # 步長為負數 沒有-4。 [0, -1, -2, -3] >>> list(range(0)) [] >>> list(range(1, 0)) []
嵌套循環(nested loop)
print ( " Multiplication Table" ) # Display the number title print ( " |", end = ' ' ) for j in range ( 1, 10 ) : print ( " ", j, end = ' ' ) print ( ) # Jump to the new line print ( "------------------------------------------------" ) # Display table body for i in range ( 1, 10 ) : print ( i, "|", end = ' ' ) for j in range ( 1, 10 ) : # Display the product and align properly print ( format ( i * j, '4d' ), end = ' ' ) # Jump to the new line print ( )
break 和 continue 語句
break 語句可以跳出 for 和 while 的循環體。如果從 for 或 while 循環中終止,任何對應的循環 else 塊將不執行。
continue 語句跳過當前循環塊中的剩余語句,然后繼續進行下一輪循環。
for x in range(5): print("上面",x) if x>2: break print("下面",x)
上面 0 下面 0 上面 1 下面 1 上面 2 下面 2 上面 3
for x in range(5): print("上面",x) if x>2: continue print("下面",x)
上面 0 下面 0 上面 1 下面 1 上面 2 下面 2 上面 3 上面 4
pass 語句
Python pass是空語句,是為了保持程序結構的完整性。
pass 不做任何事情,一般用做占位語句,如下實例
while True: pass # 等待鍵盤中斷 (Ctrl+C)
最小的類:
class MyEmptyClass: pass
REF
https://www.runoob.com/python3/python3-loop.html