你寫程式時,會不會常碰到「如果這樣就做 A,不然就做 B,還要重複很多次」?
你可以把條件與迴圈想成程式的交通號誌,決定哪條路走、要不要重複走。 它是所有程式邏輯的基礎,沒有它,程式只能照順序直直跑,做不了分支和重複。
你可以把它想成一個把抽象概念拉回日常判斷的提示,先知道它解決什麼問題,再看技術細節。
容易混淆
條件判斷 vs 依序執行 依序執行就是一行接一行往下做。 條件判斷會先看情況,再決定走哪一條路。 最關鍵的區別:一個固定往下,一個會分岔。
for 迴圈 vs while 迴圈 for 迴圈適合已知次數或可遍歷的資料。 while 迴圈適合條件還沒滿足、次數不固定的情況。 最關鍵的區別:一個重點在次數,一個重點在條件。
迴圈 vs 函式 迴圈是重複做同一段流程。 函式是把流程包起來,方便重用。 最關鍵的區別:一個控制重複,一個控制重用。
記住這句就好
會走哪條路、要重複幾次,就是控制流程。
實際案例
訊息過濾 聊天機器人先檢查內容是否空白,若是就提醒使用者重新輸入。 這種 if 判斷就是最常見的流程控制。
批次處理 你要把 1,000 筆資料逐筆檢查,就會用迴圈把相同步驟重複做完。 沒有迴圈,這種工作就只能手工複製貼上。
算法與應用
條件式常用 if、elif、else 來分支,迴圈常用 for、while 來重複。 break 可以提前跳出迴圈,continue 可以跳過這一輪,這兩個控制點很常考。 很多實務問題其實都是「先判斷,再重複處理」,流程控制就是把它寫成程式。
情境判斷
Q1(直覺題): 你要把一份名單裡的每個名字都印出來,該用什麼?
→ 用迴圈,因為每個元素都要被同樣處理一次。
Q2(判斷題): 如果你只想在成績大於 60 分時顯示通過,該用哪種控制流程?
→ 用條件判斷,因為這是看情況決定要不要執行。
iPAS 考題
Q1: Python 裡常見的流程控制關鍵字有哪些? → if、elif、else、for、while、break、continue 都是核心工具。
Q2: break 和 continue 有什麼不同? → break 是直接跳出迴圈,continue 是跳過本輪、回到下一次。
常見問題
for 和 while 差在哪裡?
for 適合可數完的資料,while 適合要等條件成立才停的流程。
為什麼初學者常寫錯?
因為忘了更新條件或縮排範圍,導致迴圈停不下來或只跑一次。
Python 裡最常先學哪一種?
通常先學 if 和 for,因為它們在資料處理和邏輯分支最常用。