到目前為止,我們寫的程式都是「直線執行」:從第一行跑到最後一行,沒有分岔。可是現實世界的情境往往需要「選擇」,這種「依條件決定行為」的能力,就是程式裡的 判斷式。
在 Python 裡,判斷式的基本結構是:
if 條件:
程式區塊
例如:
age = 20
if age >= 18:
print("你已經是大人了")
這裡的 age >= 18 是一個布林表達式,若結果是 True,縮排內的程式就會執行。
有時候我們希望「不符合條件時」執行另一段程式,就需要 else:
age = 15
if age >= 18:
print("你已經是大人了")
else:
print("你還是未成年")
程式會依條件二選一,永遠只會執行其中一段。
現實中不只有兩種情況,可能會有更多分支。這時候可以使用 elif(else if 的縮寫):
score = 85
if score >= 90:
print("等第:A")
elif score >= 80:
print("等第:B")
elif score >= 70:
print("等第:C")
else:
print("等第:D")
這裡程式會由上到下依序判斷,只要符合某一個條件,就會停止往下檢查。
判斷式還能「巢狀」使用,讓邏輯更細緻:
age = 20
has_ticket = True
if age >= 18:
if has_ticket:
print("可以進場")
else:
print("需要買票")
else:
print("未成年禁止進入")
不過巢狀太多會讓程式變複雜,因此建議只在必要時使用。
請試著寫一個程式,讓使用者輸入分數,然後輸出「及格」或「不及格」:
score = int(input("請輸入分數: "))
if score >= 60:
print("恭喜及格!")
else:
print("加油,下次再努力!")
--- by Ricky