Python: 自定義函數計算計程車車資(先typing,再用預設值), 巢狀字典以及typing.Union[ ], assert 斷言

加入好友
加入社群
Python: 自定義函數計算計程車車資(先typing,再用預設值), 巢狀字典以及typing.Union[ ], assert 斷言 - 儲蓄保險王

“””
起跳價: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))
   

Python: 自定義函數計算計程車車資(先typing,再用預設值), 巢狀字典以及typing.Union[ ], assert 斷言 - 儲蓄保險王

 

#使用assert 斷言:

#assert cond, msg相當於
#if not cond : raise AssertionError(msg)

Python: 自定義函數計算計程車車資(先typing,再用預設值), 巢狀字典以及typing.Union[ ], assert 斷言 - 儲蓄保險王

 

進階版:

“””
舒適型:
起跳價: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))        

Python: 自定義函數計算計程車車資(先typing,再用預設值), 巢狀字典以及typing.Union[ ], assert 斷言 - 儲蓄保險王

輸出結果:

Python: 自定義函數計算計程車車資(先typing,再用預設值), 巢狀字典以及typing.Union[ ], assert 斷言 - 儲蓄保險王

 

#使用巢狀字典以及typing.Union[ ]

#注意Union[ ] 使用的是[ ], 不是( )

#且首字大寫 

Python: 自定義函數計算計程車車資(先typing,再用預設值), 巢狀字典以及typing.Union[ ], assert 斷言 - 儲蓄保險王

Python, typing:函數庫規格標註; def addTest(x:float,y:float)->float: List[資料型態] Set[資料型態] Tuple[資料型態] Dict[str,value的資料型態] Union[資料型態,資料型態]

推薦hahow線上學習python: https://igrape.net/30afN

加入好友
加入社群
Python: 自定義函數計算計程車車資(先typing,再用預設值), 巢狀字典以及typing.Union[ ], assert 斷言 - 儲蓄保險王

儲蓄保險王

儲蓄險是板主最喜愛的儲蓄工具,最喜愛的投資理財工具則是ETF,最喜愛的省錢工具則是信用卡

You may also like...

發佈留言

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