在編程中,我們經常需要讓程序根據不同的情況做出不同的選擇。比如“如果下雨,就帶傘;如果不下雨,就不帶傘”,這種“根據條件執行不同操作”的邏輯,在Python中通過if-else條件語句實現。
一、爲什麼需要if-else?¶
想象一下,如果沒有條件語句,程序只能按固定順序執行代碼,無法應對複雜場景。比如:
- 判斷一個數字是正數還是負數;
- 檢查成績是否及格;
- 根據天氣決定是否穿外套。
這些場景都需要程序“先判斷條件,再決定做什麼”,而if-else就是實現這種邏輯的核心工具。
二、if-else的基本語法¶
Python的if-else語句用縮進表示代碼塊(同一條件下要執行的操作),語法結構如下:
if 條件:
# 條件成立時執行的代碼(縮進4個空格或1個Tab)
操作1
elif 另一個條件: # 可選,可多個
# 第一個條件不成立,第二個條件成立時執行
操作2
else:
# 所有條件都不成立時執行
操作3
關鍵點:
- 冒號(:):每個條件後面必須加冒號,表示接下來是縮進的代碼塊;
- **縮進**:Python通過縮進來區分代碼塊,通常用4個空格縮進(不要用Tab,避免混亂);
- **條件判斷**:條件是一個“真(True)”或“假(False)”的表達式,比如x > 5` 會返回True或False。
三、基礎用法:if語句¶
場景:只判斷一個條件,滿足就執行,不滿足就跳過。
示例1:判斷數字是否大於5¶
# 定義一個變量
num = 7
# 如果num大於5,執行下面的代碼
if num > 5:
print("這個數字比5大!") # 縮進的代碼塊
print("因爲7確實大於5~") # 同一縮進下的多個操作
# 如果條件不成立,這裏不會執行
print("結束判斷") # 無論條件是否成立,都會執行
運行結果:
這個數字比5大!
因爲7確實大於5~
結束判斷
條件表達式:>(大於)、<(小於)、==(等於,注意是兩個等號,不是一個!)、!=(不等於)、>=(大於等於)、<=(小於等於)。
四、二選一:if-else語句¶
場景:兩個條件二選一,滿足第一個條件執行A,否則執行B。
示例2:判斷成績是否及格¶
score = 75
if score >= 60: # 如果分數≥60
print("恭喜!你及格了!")
else: # 如果分數<60
print("很遺憾,你沒及格~")
運行結果:
恭喜!你及格了!
如果 score = 55,結果會是“很遺憾,你沒及格~”。
五、多條件判斷:if-elif-else¶
場景:多個條件需要逐個判斷,滿足第一個符合的條件就執行,後續條件不再判斷。
示例3:成績等級劃分¶
score = 85
if score >= 90: # 先判斷是否≥90
print("優秀")
elif score >= 80: # 否則判斷是否≥80
print("良好")
elif score >= 60: # 否則判斷是否≥60
print("及格")
else: # 所有條件都不滿足
print("不及格")
運行結果:
良好
注意:條件是從上到下依次判斷的,一旦某條件成立,就不再執行後續判斷。比如 score=95 會被第一個條件(≥90)匹配,不會執行後面的 良好。
六、常見問題與解決方法¶
- 忘記寫冒號:每個條件後面必須加冒號(
:),否則會報錯; - 縮進錯誤:Python嚴格依賴縮進來區分代碼塊,縮進不一致會導致
IndentationError; - 條件順序錯誤:比如先判斷“及格”再判斷“優秀”,會導致“優秀”永遠無法被識別(見示例3的反例);
- 比較運算符誤用:比如用
=(賦值)代替==(判斷等於),會導致邏輯錯誤。
七、綜合練習¶
題目:根據輸入的整數,判斷它是正數、負數還是零。
# 輸入一個整數
num = int(input("請輸入一個整數:"))
if num > 0:
print(f"{num}是正數")
elif num < 0:
print(f"{num}是負數")
else:
print(f"{num}是零")
運行示例:
請輸入一個整數:-3
-3是負數
總結¶
if-else條件語句是Python中最基礎也最常用的邏輯控制工具,核心是通過條件判斷讓程序“智能決策”。記住以下幾點:
- 用冒號(:)結尾,縮進表示代碼塊;
- 二選一用if-else,多條件用if-elif-else;
- 條件判斷**從上到下**執行,先判斷的條件會優先生效;
- 注意比較運算符(==、>、<等)和邏輯運算符(and、or、not`,後續會講)的正確使用。
通過簡單的例子多練習,很快就能熟練掌握if-else的用法啦!