【Python自學】while迴圈的基本案例,從函數到迴圈:讓程式動起來的魔法開關

while 迴圈是 Python 中很重要的迴圈結構。它會在「條件成立」時重複執行程式碼,直到條件變成不成立才停止。

📘 Python 自學|while 迴圈

🔁 什麼是 while 迴圈?

程式最重要的兩件事,可以先簡單理解為:

  • 函數:把一段程式包裝起來,方便重複使用。
  • 迴圈:讓一段程式可以自動重複執行。

如果說「函數」是程式自動化的基礎結構,那麼「迴圈」就是讓程式持續運轉的引擎。

while 迴圈的核心概念是:

只要條件式是 True,就一直執行縮排內的程式碼。

🧭 while 迴圈基本語法

Python 的 while 迴圈基本語法如下:

while 條件式: 執行的程式碼

條件式回傳的結果會是布林值,也就是 TrueFalse

  • 如果條件式是 True,就執行迴圈內的程式碼。
  • 如果條件式是 False,就跳出迴圈。

⚙️ while 迴圈執行邏輯

while 迴圈會一直重複「檢查條件 → 執行程式 → 再檢查條件」這個流程。

  1. 先檢查條件式是否為 True
  2. 若為 True,執行縮排內的程式碼。
  3. 執行完一圈後,再回頭檢查條件式。
  4. 若條件式變成 False,就跳出迴圈。
檢查條件 → True:執行程式碼 → 回頭再檢查條件 → False:結束迴圈

🧪 基本範例

下面這個範例會印出目前次數,從 1 印到 5

count = 1 while count <= 5: print("目前次數:", count) count += 1 # 每次加 1,避免無限迴圈

輸出結果

目前次數: 1 目前次數: 2 目前次數: 3 目前次數: 4 目前次數: 5

邏輯推演

這段程式一開始設定 count = 1

第一次:count = 1 → count <= 5 是 True → 印出 1 → count 變成 2 第二次:count = 2 → count <= 5 是 True → 印出 2 → count 變成 3 第三次:count = 3 → count <= 5 是 True → 印出 3 → count 變成 4 第四次:count = 4 → count <= 5 是 True → 印出 4 → count 變成 5 第五次:count = 5 → count <= 5 是 True → 印出 5 → count 變成 6 第六次:count = 6 → count <= 5 是 False → 結束迴圈
count += 1 很重要。
如果忘記更新 count,條件可能永遠成立,程式就會變成無限迴圈。

♾️ 無限迴圈

while 的條件永遠成立時,程式就會一直執行,這就是無限迴圈。

while True: print("這會一直執行,除非你手動停止")

while True 本身不一定是錯誤。很多互動式程式也會刻意使用無限迴圈,再搭配 break 找到合適時機跳出。

使用 break 跳出無限迴圈

while True: ans = input("輸入 q 離開:") if ans == "q": break

這段程式會一直要求使用者輸入內容。

只有當使用者輸入 q 時,程式才會執行 break 並跳出迴圈。

這種寫法很適合用在登入系統、選單程式、互動式指令工具等情境。

🛑 迴圈好朋友:break 與 continue

breakcontinue 是控制迴圈流程的重要關鍵字。

  • break:直接結束整個迴圈。
  • continue:跳過本次迴圈剩下的程式碼,直接進入下一圈。
num = 0 while num < 5: num += 1 if num == 3: continue # 跳過 3,直接進下一圈 if num == 5: break # 遇到 5 時結束迴圈 print(num)

輸出結果

1 2 4

程式邏輯說明

  • num = 1 時,印出 1
  • num = 2 時,印出 2
  • num = 3 時,執行 continue,所以不會印出 3
  • num = 4 時,印出 4
  • num = 5 時,執行 break,所以迴圈結束,不會印出 5
關鍵字 作用 簡單記法
continue 跳過這一圈剩下的程式碼。 這次略過,下一圈繼續。
break 直接結束整個迴圈。 到此為止,收工。

📌 while 迴圈常見應用

while 迴圈常用在「不知道會重複幾次,但知道什麼時候該停止」的情境。

1. 輸入驗證:直到符合條件才結束

例如要求使用者輸入正確密碼,輸入錯誤就繼續要求輸入。

password = "" while password != "1234": password = input("請輸入密碼:") print("登入成功!")

這段程式會一直執行,直到使用者輸入 1234 為止。

2. 重複運算直到條件結束

下面範例會計算 1 加到 10 的總和。

total = 0 n = 1 while n <= 10: total += n n += 1 print("1 加到 10 =", total)

執行結果

1 加到 10 = 55

🧮 經典數學案例:1 加到 100

數學中有一個很經典的故事:高斯小時候很快算出 1 + 2 + 3 + ... + 100

他的想法是把頭尾配對:

1 + 100 = 101 2 + 99 = 101 3 + 98 = 101 ... 50 + 51 = 101

這樣總共有 50 組,每組都是 101,所以答案是:

101 * 50 = 5050

接著我們用 Python 的 while 迴圈來完成這個計算。

程式設計思路

  • 設定 n = 1,代表從 1 開始。
  • 設定 total = 0,用來累加總和。
  • 每次把目前的 n 加進 total
  • 每次讓 n 增加 1。
  • n 超過 100 時,結束迴圈。
n = 1 total = 0 while n <= 100: total = total + n # 將目前的 n 累加到 total n += 1 # n 每次加 1,避免無限迴圈 print("1 + 2 + 3 + ... + 100 =", total)

邏輯推演

第一次:n = 1 → total = 1 第二次:n = 2 → total = 3 第三次:n = 3 → total = 6 ... 最後一次:n = 100 → total = 5050

執行結果

1 + 2 + 3 + ... + 100 = 5050

⚠️ 常見錯誤與陷阱

初學 while 迴圈時,最常遇到的問題通常和條件式、變數更新、縮排有關。

常見錯誤 原因 結果
忘記更新條件變數 例如忘記寫 count += 1 可能造成無限迴圈。
while 條件設錯 條件一開始就是 False 迴圈永遠不會執行。
沒有正確縮排 Python 依靠縮排判斷程式區塊。 出現 IndentationError

不小心進入無限迴圈怎麼辦?

如果程式不小心進入無限迴圈,可以用以下方式停止:

  • 命令列/終端機:按下 Ctrl + C,Python 會停止目前執行的程式。
  • IDLE/VSCode/PyCharm:通常可以按紅色方形的 Stop 按鈕中止程式。
  • 部分 IDE 快捷鍵:可能可以使用 Ctrl + F2,實際快捷鍵依編輯器而定。
無限迴圈不是不能用,而是要確定程式裡有可以跳出的條件,例如 break

🧭 while 與 for 的簡單比較

初學時常會搞混 whilefor。可以先用下面的方式判斷。

迴圈 適合情境 例子
while 不知道會重複幾次,但知道停止條件。 輸入密碼直到正確。
for 知道要重複幾次,或要逐一處理資料。 印出 1 到 10、處理 list。
簡單記法:
while 看「條件」;for 看「次數或資料」。

✅ 小結

while 迴圈是 Python 自動化的重要基礎。只要條件成立,它就會持續執行,非常適合輸入驗證、互動式程式與重複運算。

  • while:當條件成立時,重複執行程式碼。
  • 條件式:結果會是 TrueFalse
  • count += 1:常用來更新條件變數,避免無限迴圈。
  • while True:可建立無限迴圈,通常搭配 break
  • break:直接結束整個迴圈。
  • continue:跳過本次迴圈剩下的程式碼。
  • 輸入驗證:while 很適合用來要求使用者輸入正確資料。
  • 累加運算:可以用 while 逐步把數字加總。
while 條件成立: 重複執行程式碼 更新條件變數 條件不成立 → 跳出迴圈
最後用一句話記住:
while 迴圈就是「只要條件還成立,就繼續做下去」。

留言

這個網誌中的熱門文章

麻將新手必看!不知道聽什麼牌怎麼辦?超多種實戰聽牌範例,教你怎麼判斷胡牌機會

麻將教學懶人包|從規則到牌理的完整觀念整理(附實戰心得)

【新訓入伍】義務役新兵必看!入伍報到必備清單整理|2026年更新