Python中的 if...elif...else 語句屬于程序流程控制的語句,用于條件判斷中,根據不同的條件進入到不同的語句塊進行執行。Python中的分支結構只有這一種,不像C#,Java等語言中還有switch語句。if,elif 和 else 是Python的關鍵字,不能用于定義其它標識符。
Python中標準的if-else語句語法結構如下:
if 條件1: # 語句塊1elif 條件2: # 語句塊2... # 可以有多個elifelse: # else語句塊
要注意:
(1)Python是使用縮進來表示代碼層級結構的,不能使用{}來表示語句塊,同級的語句縮進量應相同;
(2)每個if-elif后都要緊跟一個條件表達式;
(3)如果相應的條件為True,則相應的語句塊得到執行,而其它的語句塊就不會再被執行;
(4)任何一個語句塊被執行后,程序就會到if..elif..else后面的代碼去執行;
(5)如果if-elif中的任何條件都不為True,則會執行else后的語句塊;
(6)elif和else是可選的,可以有多個elif,也可以沒有,else也可以有,也可以沒有,但在一個基本的if..elif..else中只能有一個else。
(7)Python跟其它語言不通,if語句的條件不要放在括號中。
其執行過程可以使用下圖來表示:
1、只有if語句
x = 10
if x==0:
print(x,"是一個偶數。")
print("程序執行完畢。")
輸出結果:
10是一個偶數。
程序執行完畢。
2、if..else
x = 13
if x % 2 == 0:
print(x,"是一個偶數。")
else:
print(x, "是一個奇數。")
print("程序執行完畢。")
輸出結果:
13是一個奇數。
程序執行完畢。
3、if...elif...else
輸入一個分數,輸出對應的等級(優秀,良好,中等,及格,不及格)
score = input("請輸入分數:") #輸入數據
score = int(score) # 把字符串轉換為整數
if score > 100 or score < 0:
print("分數輸入不合理。")
elif score >= 90:
print("優秀")
elif score >= 80:
print("良好")
elif score >= 70:
print("中等")
elif score >= 60:
print("及格")
else:
print("不及格")
程序執行情況及輸出結果:
請輸入分數:83
良好
4、嵌套使用情況
x = input("請輸入一個整型數字:")
x = int(x)
if x > 0:
print("你輸入的是正整數。")
if x % 2 == 0:
print("該數字是偶數。")
else:
print("該數字是奇數。")
elif x < 0:
print("你輸入的是一個負整數。")
if x % 3 == 0:
print("該數可以被3整除。")
if x % 5 == 0:
print("該數也可以被5整除。")
else:
if x % 2 == 0:
print("該數字是不能被5整除的偶數。")
else:
print("該數字是不能被5整除的奇數。")
else:
print("你輸入的數字是0.")
執行情況:
請輸入一個整型數字:-6
上面是5次測試運行的情況。
你輸入的是一個負整數。
該數可以被3整除。
該數字是不能被5整除的偶數。
請輸入一個整型數字:8
你輸入的是正整數。
該數字是偶數。
請輸入一個整型數字:5
你輸入的是正整數。
該數字是奇數。
請輸入一個整型數字:-9
你輸入的是一個負整數。
該數可以被3整除。
該數字是不能被5整除的奇數。
請輸入一個整型數字:0
你輸入的數字是0.
在實際應用過程中,當分支結構比較復雜時,特別要注意,if,elif和else之間的匹配問題,否則會出錯或得不到預期的結果。
5、寫在一行中的if-else語句
在2、中,判斷一個數是否為偶數的寫法也可以寫到同一行上。
x = 13
print(x, "是偶數" if x %2 == 0 else "是奇數")
輸出結果:
13 是奇數
if語句也可以寫在一行中:
x = 10
if x > 0: print("x是正數")
下圖中給出了一些使用過程中可能犯的錯誤
本文(完)
新聞熱點
疑難解答