條件判斷

      在〈條件判斷〉中有 1 則留言

if 判斷式是所有程式碼都需具備的基本語法。Python 的 if 後面接條件,條件不需使用 ()包含。每個條件最後需接 “:”,並使用Tab鍵內縮作為條件成立的執行區塊。

基本型

最簡單的基本型如下

if 條件 :
    pass

example

price=eval(input('請輸入便當價格 : '))
if price>=100:
    print('超級貴的')
    print('天理何在')
結果:
如何輸入100元及以上,"超級貴的" 及 "天理何在" 都會被印出。
如果低於100,則什麼都不會列印。

if..else

這是屬於第二型,區分為二種結果,語法如下

if 條件:
    pass
else:
    pass

example

price=eval(input('請輸入便當價格'))
if price <100:
    print("還吃的下去")
else:
    print("超級貴的")
    print("天理何在")

第三型

若有三種以上的可能,if..else則無法應付,需更改成如下

if 條件1:
    pass
else:
    if 條件2:
        pass
    else:
        if 條件3:
            pass
        else:
            pass

example

price=eval(input('請輸入便當價格'))
if price < 50:
    print("便宜")
else:
    if price < 70:
        print("普通")
    else:
        if price < 100:
            print("有點小貴")
        else:
            print("超級貴的")
            print("天理何在")

第三型變型

第三型一直往內縮,實在有違人類的思考方式,並增加日後程式碼的維護,所以可以變型成如下

price=eval(input('請輸入便當價格:'))
if price < 50:
    print("便宜")
elif price < 70:
    print("普通")
elif price < 100:
    print("有點小貴")
else:
    print("超級貴的")
    print("天理何在")

if..elif..else完整語法

整個if 的完整語法,整理如下

if 條件:
    pass
elif 條件:
    pass
elif 條件:
    pass
else:
    pass

上述 if 僅能有一個,else 只能為 0  個或 1個,elif 則可以有多個。

所得稅

先輸入薪資(salary),並假設如下條件

         薪資            所得稅  
0    < salary <= 20000 :  6%
20000< salary <= 40000 :  7%
40000< salary <= 60000 :  8%
60000< salary <= 80000 :  9%
80000以上 13%

如下代碼所示,輸入薪資,並依不同的薪資等級扣除所得稅。

因使用 input()輸入的資料型態為str,所以需再使用eval() 將 str 輸為整數。

print("請輸入薪資 : ", end='')
salary=eval(input())
if salary<=20000:
    tax=0.06
elif salary<=40000:
    tax=0.07
elif salary <=60000:
    tax=0.08
elif salary <=80000:
    tax=0.09
else:
    tax=0.13
print("薪資 : %d, 所得稅 : %.0f, 實領 : %.0f" % (salary, salary*tax, salary*(1-tax)))

and 運算子

and 運算子比對第一條件及第二條件之間的關係, 必需二個皆為true, 結果才會為true

print("請輸入年齡 : ", end='')
age=int(input())
print("請輸入身高 : ", end='')
height=int(input())
if (age<=45 and height >=160):
    print("錄取")
else:
    print("不錄取")

or 運算子

二個條件中, 只要其他一個為true, 結果就為true

print("請輸入年齡 : ", end='')
age=int(input())
print("請輸入薪水 : ", end='')
salary=int(input())
if (age>=65 or salary<=20000):
    print("免費")
else:
    print("自費")

1 thought on “條件判斷

  1. Angelica Heidrich

    This is the type of content I always seek out online; truly informative and helpful.

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *