Python if...elif...else語句

2019-10-16 23:07:57

else語句可以與if語句組合。 else語句在if語句中的條件表示式求值為0FALSE值時,則執行else語句中的程式碼塊。

else語句是一個可選語句,在if之後可能只有一個else語句。

語法

if expression:
    statement(s)
else:
    statement(s)

流程圖

範例

下面通過一個範例演示 if...else 語句的用法 -

#!/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)

在上述範例中,根據輸入量計算折扣。 如果金額低於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語句不同的是,else語句最多可以有一個語句,在if之後可以有任意數量的elif語句。

語法

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

Python不像其他程式設計語言那樣提供switchcase語句,但是可以使用if..elif...else語句來模擬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