在 Python 中,迴圈(loop)是一種用來重複執行程式碼區塊的結構。Python 支援兩種主要的迴圈結構:for 迴圈和 while 迴圈。
for 迴圈通常用來遍歷一個序列(如列表、字串、字典、集合或元組),在序列中的每一個項目上進行操作。
語法:for item in sequence: # 執行的代碼
fruits = ["apple", "banana", "cherry"]
for fruit in fruits:
print(fruit)
range() 是一個常用的函數,幫助產生數字序列。
for i in range(5):
print(i)
#0 1 2 3 4
while 迴圈會在條件為 True 時反覆執行代碼,直到條件變為 False。
語法:while condition:
count = 0
while count < 5:
print(count)
count += 1
#0 1 2 3 4
break:立即結束迴圈的執行。
continue:跳過當前的迴圈迭代,直接進入下一次的迴圈。
範例:
for i in range(5):
if i == 3:
break
print(i)
# 0 1 2
在 Python 中,巢狀迴圈(nested loop)是指「一個迴圈內包含另一個迴圈」的結構。這樣的結構允許我們在一個迴圈內進行多重次的重複執行。巢狀迴圈通常用來操作多維資料,例如表格、矩陣或列表中的列表。
巢狀迴圈的格式可以是 for 中再包含 for、while 中包含 while 或兩者交叉使用。這裡以 for 迴圈為例:
for i in range(3): # 外層迴圈
for j in range(2): # 內層迴圈
print(f"i={i}, j={j}")
輸出:
i=0, j=0
i=0, j=1
i=1, j=0
i=1, j=1
i=2, j=0
i=2, j=1
作用: 立即結束迴圈,跳出目前所在的迴圈結構,不會執行剩餘的迴圈內容。
使用情境: 當找到所需的結果後,可以用 break 來避免不必要的重複執行,提高程式的效率。
範例:
for num in range(1, 6):
if num == 3:
break # 當 num 等於 3 時,迴圈會停止
print(num)
#輸出:1 2 當 num 等於 3 時,break 讓迴圈結束,不會執行後面的數字。
作用: 跳過目前迴圈的剩餘內容,直接開始下一輪迴圈。
使用情境: 當滿足某個條件時, 跳過不執行該次的迴圈剩餘內容,繼續執行下一次迴圈。
範例:
for num in range(1, 6):
if num == 3:
continue # 當 num 等於 3 時,跳過該輪迴圈
print(num)
#輸出:1245 當 num 等於 3 時,continue 讓該輪迴圈直接跳到下一輪,所以 3 沒有被印出來。
兩者在 while 迴圈中的運作方式與在 for 迴圈中一樣:
count = 0
while count < 5:
count += 1
if count == 3:
continue # 跳過 count 等於 3 的這一輪
elif count == 4:
break # 當 count 等於 4 時,結束迴圈
print(count)
#輸出:1 2這裡 continue 略過了 count 等於 3 時的輸出,而 break 則在 count 等於 4 時直接結束迴圈。