“””
起跳價: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 斷言 - 儲蓄保險王](https://savingking.com.tw/wp-content/uploads/2022/09/20220917182038_43.png)
#使用assert 斷言:
#assert cond, msg相當於
#if not cond : raise AssertionError(msg)
![Python: 自定義函數計算計程車車資(先typing,再用預設值), 巢狀字典以及typing.Union[ ], assert 斷言 - 儲蓄保險王](https://savingking.com.tw/wp-content/uploads/2022/09/20220926134907_11.png)
進階版:
“””
舒適型:
起跳價: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 斷言 - 儲蓄保險王](https://savingking.com.tw/wp-content/uploads/2022/09/20220918130415_30.png)
輸出結果:
![Python: 自定義函數計算計程車車資(先typing,再用預設值), 巢狀字典以及typing.Union[ ], assert 斷言 - 儲蓄保險王](https://savingking.com.tw/wp-content/uploads/2022/09/20220918130508_71.png)
#使用巢狀字典以及typing.Union[ ]
#注意Union[ ] 使用的是[ ], 不是( )
#且首字大寫
![Python: 自定義函數計算計程車車資(先typing,再用預設值), 巢狀字典以及typing.Union[ ], assert 斷言 - 儲蓄保險王](https://savingking.com.tw/wp-content/uploads/2022/09/20220923222039_57.png)
推薦hahow線上學習python: https://igrape.net/30afN

![Python TQC考題810 最大值與最小值之差,L=[eval(i) for i in s.split()] Python TQC考題810 最大值與最小值之差,L=[eval(i) for i in s.split()]](https://i2.wp.com/savingking.com.tw/wp-content/uploads/2022/05/20220507094526_36.png?quality=90&zoom=2&ssl=1&resize=350%2C233)


![Python: pandas.DataFrame如何移除所有空白列?if df_raw.iloc[r,0] is np.nan: nanLst.append(r) ; df_drop0 = df_raw.drop(nanLst,axis=0) ; pandas.isna() ;df_drop0 = df_raw.drop(nanLst,axis=0).reset_index(drop=True) Python: pandas.DataFrame如何移除所有空白列?if df_raw.iloc[r,0] is np.nan: nanLst.append(r) ; df_drop0 = df_raw.drop(nanLst,axis=0) ; pandas.isna() ;df_drop0 = df_raw.drop(nanLst,axis=0).reset_index(drop=True)](https://i2.wp.com/savingking.com.tw/wp-content/uploads/2022/12/20221206144233_67.png?quality=90&zoom=2&ssl=1&resize=350%2C233)
![Python: 如何用 pandas.DataFrame.apply 讓DataFrame增加新的一欄 ; df[“mean”] = df.apply( np.mean, axis=1) ; DataFrame.apply(func, axis=0, raw=False, result_type=None, args=(), **kwargs) Python: 如何用 pandas.DataFrame.apply 讓DataFrame增加新的一欄 ; df[“mean”] = df.apply( np.mean, axis=1) ; DataFrame.apply(func, axis=0, raw=False, result_type=None, args=(), **kwargs)](https://i1.wp.com/savingking.com.tw/wp-content/uploads/2023/05/20230519084320_22.png?quality=90&zoom=2&ssl=1&resize=350%2C233)

![Python網路爬蟲requests 如何下載台灣證交所的opendata? rawData = requests. get (inputs) #<Response [200]> Python網路爬蟲requests 如何下載台灣證交所的opendata? rawData = requests. get (inputs) #<Response [200]>](https://i1.wp.com/savingking.com.tw/wp-content/uploads/2022/10/20221004135740_43.png?quality=90&zoom=2&ssl=1&resize=350%2C233)
![Python 表達式中的魔法:用海象運算子讓斷詞程式碼更乾淨 [w_clean for w in words if (w_clean:=w.lower().strip()) and w_clean not in STOPWORDS] Python 表達式中的魔法:用海象運算子讓斷詞程式碼更乾淨 [w_clean for w in words if (w_clean:=w.lower().strip()) and w_clean not in STOPWORDS]](https://i1.wp.com/savingking.com.tw/wp-content/uploads/2026/02/20260210083748_0_a7d9bf.png?quality=90&zoom=2&ssl=1&resize=350%2C233)

近期留言