Python3 if...elseif...else語句

2019-10-16 23:10:46
一個if語句可與else語句結合。else 語句包含的程式碼,如果在 if 語句條件表示式計算為 0 或 FALSE值時該 else 塊被執行。
else語句是可選的宣告,最多只有一個 else 語句。

語法

在 if ... else 語句的語法是 -
if expression:
   statement(s)
else:
   statement(s)

流程圖


範例

#!/usr/bin/python3

amount=int(input("Enter amount: "))

if amount<1000:
    discount=amount*0.05
    print ("Discount",discount)
else:
    discount=amount*0.10
    print ("Discount",discount)
    
print ("Net payable:",amount-discount)
 

在上面的例子中,discount 計算是一個輸入的數量。如果用量少於1000折扣率是5%,而高於10000折扣率是10%。 當執行上面的程式碼,它產生以下結果 -

Enter amount: 600
Discount 30.0
Net payable: 570.0

Enter amount: 1200
Discount 120.0
Net payable: 1080.0

 elif 語句

elif語句讓你檢查多個表示式是否TRUE,並且當條件之一的值為TRUE則立即執行該程式碼塊。

類似於else,elif語句是可選的。然而,不同於else,它至多有一個語句, if 下面可以有任意數的 elif 語句。

語法

if expression1:
   statement(s)
elif expression2:
   statement(s)
elif expression3:
   statement(s)
else:
   statement(s) 

Python核心程式設計不提供在其他語言中的switch或case語句,但我們可以用if..elif...語句來模擬 switch case 如下-

範例

#!/usr/bin/python3

amount=int(input("Enter amount: "))

if amount<1000:
    discount=amount*0.05
    print ("Discount",discount)
elif amount<5000:
    discount=amount*0.10
    print ("Discount",discount)
else:
    discount=amount*0.15
    print ("Discount",discount)
    
print ("Net payable:",amount-discount)
當執行上面的程式碼,它產生以下結果 -
Enter amount: 600
Discount 30.0
Net payable: 570.0

Enter amount: 3000
Discount 300.0
Net payable: 2700.0

Enter amount: 6000
Discount 900.0
Net payable: 5100.0