迴圈(Loop)是程式設計中的控制結構,用來重複執行特定程式碼區塊,直到滿足預設條件為止。它能自動化重複任務,大幅簡化程式碼,避免手動重複撰寫相同邏輯。
迴圈的基本定義與作用
迴圈讓程式依條件或次數反覆執行同一段程式碼,每執行一次稱為一個迭代(iteration)。其核心是檢查終止條件,決定是否繼續循環。
主要作用包括:
-
處理大量資料,如遍歷陣列或檔案。
-
實現計數或累加,如計算總和。
-
模擬持續過程,如遊戲主迴圈或等待輸入。
沒有迴圈,許多任務(如排序或搜尋)將極其繁瑣。
常見迴圈類型比較
程式語言提供多種迴圈,各有適用場景。
| 類型 | 語法範例(Python風格) | 特點與用途 |
|---|---|---|
| for 迴圈 | for i in range(5): print(i) |
已知次數,計數器控制;適合遍歷序列。 |
| while 迴圈 | while x < 10: x += 1 |
條件判斷,先檢查後執行;適合未知次數。 |
| do-while | do { ... } while (x < 10); |
先執行後檢查,至少一次;C/C++常見。 |
for 迴圈內部通常包含初始化、條件、更新三部分,形成完整控制流程。
實際應用範例
在資料處理中,迴圈常用於累加或篩選。例如計算1到100總和:
total = 0
for i in range(1, 101):
total += i
print(total) # 輸出:5050
另一例,while 迴圈等待使用者輸入:
guess = 0
while guess != 42:
guess = int(input("猜數字:"))
print("正確!")
這些範例展現迴圈如何將人工重複轉為自動化。
注意事項與常見問題
正確設計迴圈需確保條件能變化,避免無限迴圈(infinite loop),這會導致程式凍結。
關鍵技巧:
-
使用 break 提早結束,如
if found: break。 -
continue 跳過本次迭代,執行下一次。
-
巢狀迴圈處理多維資料,但易增加複雜度 O(n2)O(n2)。
在AI課程中,迴圈常用於訓練迭代或資料批次處理,優化時需考量效率與可讀性。