Python if else(Python if else Statement)
這篇 Python if else 教學將帶你認識條件判斷:讓程式根據條件成立與否,執行不同的程式碼。搭配前一篇學的比較與邏輯運算子,程式就能開始「做決定」。
if else 語法
if 條件:
條件成立時執行的程式碼
elif 另一個條件:
上面不成立、這個成立時執行
else:
以上都不成立時執行
說明:
| 關鍵字 | 說明 |
|---|---|
if | 必要,條件成立(True)就執行其區塊 |
elif | 可選、可多個,前面條件都不成立時依序檢查 |
else | 可選、最多一個,所有條件都不成立時執行 |
| 冒號與縮排 | 每個條件行結尾要冒號 :,區塊內縮排 4 格 |
基本用法
score = int(input("請輸入成績:")) # 輸入 75
if score >= 90:
print("優等")
elif score >= 60:
print("及格")
else:
print("不及格")
執行範例:
請輸入成績:75
及格
注意 elif 是「由上往下依序檢查,第一個成立的就執行、其餘跳過」,所以 75 分只會印出「及格」,不會再檢查後面的條件。
搭配邏輯運算子
多個條件用 and、or、not 組合:
age = 20
has_ticket = True
if age >= 18 and has_ticket:
print("可以入場")
else:
print("不能入場")
執行輸出:
可以入場
巢狀判斷與三元運算式
if 裡面可以再放 if(巢狀),但層數太多會難以閱讀,超過兩三層時應思考改寫:
member = True
amount = 1200
if member:
if amount >= 1000:
print("會員滿千:9 折")
else:
print("會員:95 折")
else:
print("無折扣")
執行輸出:
會員滿千:9 折
簡單的二選一指派,可以用一行的三元運算式:
age = 20
status = "成年" if age >= 18 else "未成年"
print(status)
執行輸出:
成年
Python 的真假值(Truthy / Falsy)
if 的條件不一定要是 True/False,任何值都能當條件,Python 會自動判定真假:
| 視為 False 的值 | 說明 |
|---|---|
False、None | 布林假值與空值 |
0、0.0 | 數字零 |
"" | 空字串 |
[]、{}、() | 空的 list、dict、tuple |
其餘的值都視為 True。所以檢查字串是否為空,慣用寫法是:
name = input("請輸入名字:") # 直接按 Enter(空字串)
if name:
print(f"你好,{name}")
else:
print("你沒有輸入名字")
執行範例:
請輸入名字:
你沒有輸入名字
常見錯誤
1. SyntaxError: invalid syntax(用了 = 而不是 ==)
if x = 5: 會直接報錯,比較相等要用 ==。
2. SyntaxError: expected ‘:’
條件行結尾忘記加冒號。if、elif、else 行尾都要有 :。
3. IndentationError: expected an indented block
冒號下一行忘記縮排。if 區塊內至少要有一行縮排的程式碼;如果想先留空,用 pass 佔位。
總結
if / elif / else 由上而下檢查、第一個成立的執行;行尾冒號與區塊縮排是語法必要的;Python 中 0、空字串、空容器都視為 False,這個特性讓條件可以寫得很簡潔。下一篇是第一階段的最後一個語法主題:for 與 while 迴圈。