“””
起跳價:70元 (1.25 KM)
續程: +5元/0.2KM
“””
def taxi(km:float) -> int :
if 0 <= km <= 1.25:
cost = 70
elif km > 1.25:
cost = int( (70 + 5*(km-1.25)/0.2) )
else: cost=”請輸入正確的公里數(>=0)”
return cost
print(“預估車資為:”,taxi(1.25))
print(“預估車資為:”,taxi(1.45))
print(“預估車資為:”,taxi(-1))
#使用assert 斷言:
#assert cond, msg相當於
#if not cond : raise AssertionError(msg)
進階版:
“””
舒適型:
起跳價:70元 (1.25 KM)
續程: +5元/0.2KM
“””
def taxi(km:float,init=70,conti=5) -> int :
if 0 <= km <= 1.25:
cost = init
elif km > 1.25:
cost = int( (init + conti*(km-1.25)/0.2) )
else: cost=”請輸入正確的公里數(>=0)”
return cost
menu={
“舒適型”: False,
“豪華型”: False,
“6人座”: False,
“寶寶多元”: False
}
km = eval( input(“請輸入公里數(km) “) )
m = eval( input(“請輸入車型(1,2,3,4),\n \
1:舒適型, 2:豪華型, 3:六人座 , 4:寶寶多元 ” ) )
if m == 1 : menu[“舒適型”] = True
elif m == 2 : menu[“豪華型”] = True
elif m == 3 : menu[“6人座”] = True
elif m == 4 : menu[“寶寶多元”] = True
if menu[“舒適型”]: print(“預估車資為:”,taxi(km,70,5))
elif menu[“豪華型”]: print(“預估車資為:”,taxi(km,98,7))
elif menu[“6人座”]: print(“預估車資為:”,taxi(km,98,7))
elif menu[“寶寶多元”]: print(“預估車資為:”,taxi(km,84,6))
輸出結果:
#使用巢狀字典以及typing.Union[ ]
#注意Union[ ] 使用的是[ ], 不是( )
#且首字大寫
推薦hahow線上學習python: https://igrape.net/30afN