【Python超入門教學】EP4 | 判斷我說的話是不是真的? (if-elif-else)

by 龍冥

流程控制:條件判斷 (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 結果:False
num % 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("這是零")

程式流程:

  1. 使用者輸入一個數字
  2. 如果 x > 0 → 顯示「這是正數」
  3. 如果 x < 0 → 顯示「這是負數」
  4. 其他情況 → 顯示「這是零」

巢狀條件(Nested if)

Python 允許在 if 區塊內再撰寫另一層 if,形成 巢狀條件(Nested if),用來處理更細緻的判斷邏輯。

範例邏輯

  1. 先判斷數字是否大於 0
  2. 如果大於 0,再判斷它是奇數還是偶數
  3. 如果小於或等於 0,則不進行奇偶數判斷
num = int(input("請輸入整數: "))

if num > 0:
    print("大於 0")

    # 第二層判斷(巢狀 if)
    if num % 2 == 0:
        print("且是偶數")
    else:
        print("且是奇數")

else:
    print("小於或等於 0")

透過巢狀條件,可以讓程式逐層篩選條件,處理更複雜的邏輯情境。

Related Posts