這篇簡單筆記 Python 中的 if / else 用法,並透過幾個小案例理解條件判斷,最後再實作一個簡易計算機程式。
📘 Python if / else 條件判斷
在寫程式時,我們常常需要讓程式根據不同情況做不同事情。這時候就會用到 if / else 條件判斷。
簡單來說,if 就是「如果」,else 就是「否則」。如果條件成立,就執行某段程式;如果條件不成立,就執行另一段程式。
🧭 1. if / else 的用途
if / else 用來判斷條件,根據條件是否成立,決定程式要走哪一段。
條件成立時執行 if 區塊;條件不成立時執行 else 區塊。
這個概念其實很直觀,像日常生活也常出現類似判斷:
-
如果下雨,就帶傘。
-
如果成年,就可以進入。
-
如果分數達標,就及格。
-
否則,就執行另一個結果。
🧩 2. 基本語法
Python 的 if / else 基本語法如下:
if 條件:
# 條件成立 True 時會執行這裡
else:
# 條件不成立 False 時會執行這裡
if / else 的判斷結果通常會是布林值,也就是:
Python 很重視縮排。
if、else 後面的程式碼必須縮排,否則可能出現 IndentationError。
🧪 3. 基本例子:成年人可以進入
先來看一個很常見的年齡判斷案例。
age = 20
if age >= 18:
print("你已成年,可以進入。")
else:
print("未成年,禁止進入。")
判斷邏輯
age >= 18 → True → 印出「你已成年,可以進入。」
age < 18 → False → 印出「未成年,禁止進入。」
程式執行結果
你已成年,可以進入。
這個例子就是最典型的 if / else:如果年齡大於等於 18,就顯示成年;否則顯示未成年。
🔀 4. 加上 elif:多條件判斷
當條件不只兩種時,可以使用 elif。
elif 可以理解成 else if,意思是「否則如果」。
score = 75
if score >= 90:
print("A 等級")
elif score >= 80:
print("B 等級")
elif score >= 70:
print("C 等級")
else:
print("需要加油喔")
程式執行結果
C 等級
因為 score = 75,不符合 score >= 90,也不符合 score >= 80,但符合 score >= 70,所以印出 C 等級。
elif 可以讓多重判斷更簡潔。程式會從上往下檢查,只要遇到第一個成立的條件,就執行該區塊,後面就不再繼續判斷。
🔤 5. 判斷字串例子
條件判斷不只可以用在數字,也可以用在字串。
name = "阿元"
if name == "阿元":
print("歡迎回來!")
else:
print("你是新朋友嗎?")
程式執行結果
歡迎回來!
這裡使用 == 判斷兩個字串是否相等。
= 和 == 不一樣。
= 是指定變數;== 是判斷是否相等。
⌨️ 6. 判斷是否有輸入
在 Python 中,空字串 "" 會被視為 False,非空字串會被視為 True。
item = input("輸入一些內容吧!")
if item: # 字串不為空 → True
print("你輸入的是:", item)
else:
print("你沒有輸入內容喔")
情境 1:使用者有輸入內容
輸入一些內容吧!Hello, I am Yuan.
你輸入的是: Hello, I am Yuan.
情境 2:使用者直接按 Enter
輸入一些內容吧!
你沒有輸入內容喔
這個寫法很常用在檢查使用者是否有輸入資料。
🧮 簡易計算機程式
接下來,我們來寫一個簡易計算機程式,讓使用者輸入三個資料:
-
運算符號:加、減、乘、除,也就是 + - * /。
-
數字 1:第一個要運算的數字。
-
數字 2:第二個要運算的數字。
程式會根據使用者輸入的運算符號,決定要進行哪一種計算。
這個練習的目的,是熟悉 if / elif / else 的條件判斷流程。
完整程式碼
# 簡易計算機程式
operator = input("please input operator: ")
number1 = float(input("please input number1: "))
number2 = float(input("please input number2: "))
if operator == "+":
print(number1 + number2)
elif operator == "-":
print(number1 - number2)
elif operator == "*":
print(number1 * number2)
elif operator == "/":
print(number1 / number2)
else:
print("不支援的運算符號")
程式執行結果:加法
please input operator: +
please input number1: 3
please input number2: 4
7.0
程式執行結果:減法
please input operator: -
please input number1: 5
please input number2: 6
-1.0
程式執行結果:乘法
please input operator: *
please input number1: 3
please input number2: 4
12.0
程式執行結果:除法
please input operator: /
please input number1: 8
please input number2: 4
2.0
🔎 計算機程式邏輯說明
這個計算機的核心是根據 operator 的值,決定要做哪一種運算。
| 輸入符號 |
判斷條件 |
執行運算 |
| + |
operator == "+" |
加法 |
| - |
operator == "-" |
減法 |
| * |
operator == "*" |
乘法 |
| / |
operator == "/" |
除法 |
| 其他 |
else |
顯示不支援的運算符號 |
目前這個簡易版本還沒有處理「除以 0」的狀況。
如果使用者在除法時輸入 number2 = 0,程式會出現 ZeroDivisionError。
🔧 小改良:避免除以 0
我們可以在除法判斷中再加一層條件,避免使用者輸入 0 當除數。
operator = input("please input operator: ")
number1 = float(input("please input number1: "))
number2 = float(input("please input number2: "))
if operator == "+":
print(number1 + number2)
elif operator == "-":
print(number1 - number2)
elif operator == "*":
print(number1 * number2)
elif operator == "/":
if number2 == 0:
print("除數不可為 0")
else:
print(number1 / number2)
else:
print("不支援的運算符號")
這樣當使用者輸入除法,且第二個數字是 0 時,程式就會提示「除數不可為 0」,而不是直接報錯。
📋 if / elif / else 速查表
最後用表格整理三個關鍵字的用途。
| 語法 |
意思 |
使用情境 |
| if |
如果 |
第一個要判斷的條件。 |
| elif |
否則如果 |
有多個條件時使用。 |
| else |
否則 |
前面條件都不成立時執行。 |
✅ 小結
if / else 是 Python 中最基本、也最常用的流程控制語法。只要程式需要根據條件做出不同反應,就會用到它。
-
if:條件成立時執行。
-
else:條件不成立時執行。
-
elif:用於多條件判斷。
-
布林值:條件判斷的結果通常是 True 或 False。
-
縮排:Python 用縮排決定程式區塊。
-
==:用來判斷是否相等。
-
計算機案例:透過運算符號決定要執行哪一種計算。
if 條件成立:
執行這裡
elif 其他條件成立:
執行另一段
else:
前面都不成立時執行這裡
最後用一句話記住:
if / else 就是讓程式學會「看情況做決定」。
留言
張貼留言