循環是程式設計中一個重要的部分。
在 Python 中,我們有兩種類型的循環:while 循環和 for 循環。
while
循環
使用 while
關鍵字定義 while
循環,直到條件求值為 False
,它會重複執行其區塊:
condition = True
while condition == True:
print("條件為 True")
這是一個無窮循環,它永遠不會結束。
讓我們在第一次迭代後停止循環:
condition = True
while condition == True:
print("條件為 True")
condition = False
print("循環結束後")
在這個案例中,第一次迭代運行,因為條件測試求值為 True
,第二次迭代時條件測試求值為 False
,所以控制權轉移到循環後的下一條指令。
通常會有一個計數器,在某些循環之後停止迭代一定次數:
count = 0
while count < 10:
print("條件為 True")
count = count + 1
print("循環結束後")
for
循環
使用 for
循環,我們可以告訴 Python 在預先決定的次數內執行一個區塊,而無需使用獨立的變數和條件來檢查其值。
例如,我們可以迭代列表中的項目:
items = [1, 2, 3, 4]
for item in items:
print(item)
或者,您可以使用 range()
函數迭代指定的次數:
for item in range(4):
print(item)
range(4)
會創建一個從 0 開始並包含 4 個項目的序列:[0, 1, 2, 3]
。
要獲得索引,您應該將序列包裝到 enumerate()
函數中:
items = [1, 2, 3, 4]
for index, item in enumerate(items):
print(index, item)
中斷和繼續
無論是 while
循環還是 for
循環,都可以在區塊內部使用兩個特殊的關鍵字 break
和 continue
來中斷循環。
continue
停止當前的迭代,並告訴 Python 執行下一個迭代。
break
則完全停止循環,並繼續執行循環結束後的下一條指令。
第一個例子在這裡打印 1, 3, 4
。第二個例子只打印 1
:
items = [1, 2, 3, 4]
for item in items:
if item == 2:
continue
print(item)
items = [1, 2, 3, 4]
for item in items:
if item == 2:
break
print(item)