iT邦幫忙

2025 iThome 鐵人賽

DAY 5
0
Software Development

從零開始學 Python系列 第 5

Day 5 - if、elif、else 條件判斷:讓程式具備「思考能力」!

  • 分享至 

  • xImage
  •  

今天的學習目標

  • 學會使用 if、elif、else 控制流程
  • 讓程式根據條件產生不同回應
  • exercise: 成績判斷器

學習重點

if、elif、else 的基本結構

if 條件1:
    做某件事
elif 條件2:
    做其他事
else:
    所有條件都不符合時做的事

elif與else的比較

elif 的用途是什麼?

  • 當第一個 if 條件不成立時,就會去檢查 elif 的條件。
  • 可以有很多個 elif。

else 的用途是什麼?
else 不用寫條件,代表「前面所有的 if 和 elif 都不符合時,就執行這裡的內容」。
else 最多只能有一個,通常放在最後。

weather = "下雪"

if weather == "晴天":
    print("去公園玩")
elif weather == "下雨":
    print("在家看電影")
else:
    print("穿暖一點喔!")

weather 是「下雪」,不符合前兩個條件,會印出「穿暖一點喔!」
補充
一個等號(=)與兩個等號(==)的差別:
一個等號用來把某個值指定(存進去)給變數。
功能:指定(賦值)
example:

age = 18

意思是:「我把 18 這個數字存進去 age 這個變數裡。」
age 現在代表的是 18。

兩個等號是條件判斷裡會用到的符號(常常出現在 if、elif 裡)。
功能:比較(判斷)
用來問:「兩個東西相不相等?」
example:

age = 18

if age == 18:
    print("你已經成年了!")

這邊的 == 是在比較:age 的值是不是等於 18?
如果是,就印出「你已經成年了!」

符號 意思 用在什麼地方?
= 指定 把值存進變數
== 判斷相等 if 條件、比較兩個值

實作

score = 85
if score >= 90:
    print("excellent")
elif score >= 60:
    print("pass")
else:
    print("failed")

螢幕擷取畫面 2025-08-05 093555

條件可以是任何布林值
除了比較數值外,也能檢查變數是否為空、是否為 True:

name = input("Enter your name:")
if name:
    print(f"Hello,{name}!")
else:
    print("Please enter your name!")

螢幕擷取畫面 2025-08-05 103936
螢幕擷取畫面 2025-08-05 104007
空字串會被視為 False
螢幕擷取畫面 2025-08-05 103949

exercise: 成績判斷器

score = int(input("Enter your score:"))
if score >= 90:
    print("grade:A")
elif score >= 80:
    print("grade:B")
elif score >= 70:
    print("grade:C")
elif score >= 60:
    print("grade:D")
else:
    print("grade:F")

螢幕擷取畫面 2025-08-05 105538

學習心得

在撰寫條件可以是任何布林值時,我想確認input的型別確實都是以字串辨識,所以輸入了數字進去試試看。在我測試的時候發現了一件讓我非常困惑的事情:如果我輸入數字「4」或「12」,結果只會印出「4」或「12」,既不會像輸入字串那樣出現"Hello"的字串,更不會像直接輸入enter出現的"Please enter your name"。之後更是打了名字也不會印出正確的輸出。為了確認還執行

print("資料型別:", type(name))

來確認輸入數字輸出的型別。最後才知道,原來是我沒有重新執行程式。每次執行 .py 檔後,程式其實就會結束了。一開始我還以為可以一直在終端機輸入資料與程式互動,結果卻發現輸入的文字被 PowerShell 認成指令,跳出錯誤訊息。
螢幕擷取畫面 2025-08-05 104106

這讓我真正理解「程式執行的開始與結束」概念,也能分辨自己目前是在 Python 程式裡,還是在終端機中。
明天我會學習 for 與 while 迴圈,讓程式可以自動重複執行某些動作,開始建立「有節奏感」的運算邏輯!


上一篇
Day4 - 數值與字串 + print 格式化輸出:讓程式「說話更有條理」
下一篇
Day6 - for 與 while 迴圈:讓程式自動重複的魔法
系列文
從零開始學 Python30
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言