iT邦幫忙

2026 iThome 鐵人賽

DAY 7
0
佛心分享-IT 人自學之術

當 Python 初學者遇到 AI:30 天人機協作學習手記系列 第 7

[Day 07] 不達目的不罷休:Python 迴圈進階

  • 分享至 

  • xImage
  •  

今日對話:不知道次數的迴圈怎麼寫?

我的 Prompt(提示詞):

「我已經學會 for 迴圈了。但如果我不知道要重複幾次,而是要『達成某個條件才停止』時,該怎麼寫?另外,常常聽到程式設計師說的 break、continue 和 pass 是什麼意思?請用白話文舉例說明。」

AI 導師的建議與拆解

AI 導師這次給了一個非常生動的「闖關遊戲」比喻來解釋這些進階控制語法:

  1. while 迴圈:固執的守門員
    for 迴圈是發牌員(牌發完就結束);而 while 迴圈則是一個固執的守門員。

語法:while 條件:
運作邏輯:只要條件是 True,它就會一直重複執行裡面的動作,直到條件變成 False 為止。
新手大坑(無限迴圈):如果你忘記在迴圈裡面改變條件,它就會永遠跑下去,跑到電腦當機!遇到這種情況,記得在終端機狂按 Ctrl + 強制中斷程式。

  1. 迴圈的三個紅綠燈 (break / continue / pass)
    當我們在迴圈裡面跑到一半,想要「提早改變計畫」時,可以使用這三個關鍵字:

break(砸破玻璃逃生):直接中斷整個迴圈,不管條件達成了沒,立刻跳出去。
continue(略過這回合):跳過這次迴圈剩下的程式碼,直接進入「下一回合」的條件檢查。
pass(先佔個位子):什麼事都不做。通常用在你想好了一個迴圈或 if 條件,但還沒想好裡面要寫什麼程式碼時,先寫個 pass 避免 Python 報錯(因為 Python 規定縮排裡面不能空著)。

實作筆記與驗證

為了更加了解 break 和 continue 的差別,我開了 day07.py檔案來實作,寫了一個結合 while True(故意製造無限迴圈)的回合制戰鬥模擬:

python
簡易戰鬥模擬系統
monster_hp = 40
round_num = 0

print("⚔️ 戰鬥開始!怪物血量:40")

#while True 會創造一個無限迴圈,必須靠裡面的 break 才能逃脫!
while True:
round_num += 1
print(f"\n--- 第 {round_num} 回合 ---")

模擬特殊事件:第 2 回合怪物防禦,跳過攻擊
if round_num == 2:
print("🛡️ 怪物開啟絕對防禦!本次攻擊無效。")
continue # 直接跳回迴圈開頭,不會執行下方的扣血動作

正常攻擊流程
damage = 15
monster_hp -= damage
print(f"🗡️ 造成 {damage} 點傷害,怪物剩餘血量:{monster_hp}")

模擬勝利條件:血量歸零
if monster_hp <= 0:
print("🎉 怪物被打倒了!戰鬥勝利!")
break # 達成條件,打破無限迴圈,結束戰鬥

print("遊戲結束,回到村莊。")

今日小結

今天我們學會了用 while 處理未知次數的重複任務,並且掌握了 break與 continue這兩個精準控制程式節奏的法寶。


上一篇
[Day 06] 告別複製貼上:Python 迴圈基礎
下一篇
[Day 08] 資料的魔法大背包:Python 容器資料結構(一)List 串列
系列文
當 Python 初學者遇到 AI:30 天人機協作學習手記10
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言