3.5K
「等於」不只是等於?搞懂
流程控制:條件判斷 (if / elif / else)
透過程式讓電腦具有「思考」能力,能根據不同的情況執行不同的程式碼區塊。例如:當密碼正確時允許使用者登入;若密碼錯誤,則顯示錯誤訊息。
給電腦的判斷句 (>、<、=)
在撰寫 if 相關指令之前,必須先理解電腦如何判斷條件。
「等於」不只是等於?搞懂 = 與 == 的差別
在數學中,我們習慣使用 = 表示兩邊相等(雖然《鋼之鍊金術師》的等價交換也不是這樣寫的 😆)。但在程式碼中,這兩個符號的意義完全不同:
單個等於
=(指定 Assignment):可以想像成「把右邊的東西放進左邊的盒子」。
x = 10代表:把數字
10放進變數x這個盒子裡。兩個等於
==(比較 Comparison):這是在「提出一個問題」。
x == 10代表:
x裡面的值是否等於10?這個寫法通常會出現在
if的條件判斷中,讓電腦檢查條件是否成立。
布林值 (Boolean):只有是與否的世界
當電腦判斷 if 後面的條件時,只會得到兩種結果:
True(真 / 條件成立)False(假 / 條件不成立)
這種只有兩種結果的邏輯,在程式中稱為 布林值(Boolean)。
為什麼 Boolean 很重要?
因為 if 的運作邏輯非常單純:
- 如果條件結果是 True → 執行縮排區塊內的程式
- 如果條件結果是 False → 直接跳過該區塊
5 > 3 結果:True 10 < 2 結果:Falsenum % 2 == 0 意思是:數字除以 2 的餘數是否等於 0?- 如果
num = 4→True(偶數) - 如果
num = 5→False(奇數)
if 的基礎寫法
Python 使用 縮排(indentation) 來定義程式區塊。這與 C / Java 常見的大括號 {} 不同,而且縮排是 語法強制要求。
在多數編輯器中,可以先選取程式碼後:
Tab→ 增加縮排Shift + Tab→ 減少縮排
if / elif / else 基本結構
if 條件1:
符合條件1時執行
elif 條件2:
條件1不成立,但條件2成立時執行
elif 條件3:
條件1與條件2都不成立,但條件3成立時執行
else:
以上條件都不成立時執行
範例:判斷數字是正數、負數或零
x = float(input("輸入一個數字: "))
if x > 0:
print("這是正數")
elif x < 0:
print("這是負數")
else:
print("這是零")
程式流程:
- 使用者輸入一個數字
- 如果
x > 0→ 顯示「這是正數」 - 如果
x < 0→ 顯示「這是負數」 - 其他情況 → 顯示「這是零」
巢狀條件(Nested if)
Python 允許在 if 區塊內再撰寫另一層 if,形成 巢狀條件(Nested if),用來處理更細緻的判斷邏輯。
範例邏輯
- 先判斷數字是否大於 0
- 如果大於 0,再判斷它是奇數還是偶數
- 如果小於或等於 0,則不進行奇偶數判斷
num = int(input("請輸入整數: "))
if num > 0:
print("大於 0")
# 第二層判斷(巢狀 if)
if num % 2 == 0:
print("且是偶數")
else:
print("且是奇數")
else:
print("小於或等於 0")
透過巢狀條件,可以讓程式逐層篩選條件,處理更複雜的邏輯情境。