最近業餘時間在學習Python,這是那天坐地鐵時突發奇想,想看看我這一個月的地鐵費共多少錢,因此簡單的構思了下思路,就直接開寫了,沒想到用Python來實現還挺簡單的。 學習
設計思路:測試
每次乘車正常消費7元,天天乘車2次,每個月工做日乘車22天。spa
每個月乘車總金額超過100元,下次乘車票價的8折設計
每個月乘車總金額超過150元,下次乘車票價的5折code
每個月乘車總金額超過400元,下次乘車不打折orm
代碼:blog
1 # _*_coding=utf-8 _*_ 2 __author__ = 'Xue' 3 4 5 ''' 6 計算北京地鐵每個月乘車票價總金額 7 version 1.0 8 默認:每次乘車x元,天天乘車2次,每個月乘車22天 9 10 每個月乘車總金額超過100元,下次乘車票價的8折 11 每個月乘車總金額超過150元,下次乘車票價的5折 12 每個月乘車總金額超過400元,下次乘車不打折 13 14 ''' 15 16 def way(): 17 dayMoney=int(raw_input("請輸入您單次乘車正常票價(單位:元):")) 18 dayTime=raw_input("請輸入您天天乘車次數(默認2次):") 19 dayMonth=raw_input("請輸入您每個月乘車天數(默認22天):") 20 dayAllMoney=0.0 #當月乘車總金額 21 22 #統計各階段乘車的錢數和次數和 23 m100=0.0 24 m150=0.0 25 m400=0.0 26 mmax=0.0 27 t100=0 28 t150=0 29 t400=0 30 tmax=0 31 32 if dayTime=='': 33 dayTime=2 34 else: 35 dayTime=int(dayTime) #格式轉換 36 37 if dayMonth=='': 38 dayMonth=22 39 else: 40 dayMonth=int(dayMonth) #格式轉換 41 42 dayMonthTime=dayTime*dayMonth #每個月總乘車次數 43 dayNowTime=0 #乘車次數記錄 44 45 while dayNowTime<=dayMonthTime: 46 47 if dayAllMoney<=100.0: #總金額小等於100元時,按正常票價收費 48 dayAllMoney+=dayMoney 49 m100+=dayMoney 50 t100+=1 51 elif dayAllMoney<=150.0: #總金額小等於150時,按正常票價的8折收費 52 dayAllMoney+=dayMoney*0.8 53 m150+=dayMoney*0.8 54 t150+=1 55 elif dayAllMoney<=400.0: #總金額小等於400時,按正常票價的5折收費 56 dayAllMoney+=dayMoney*0.5 57 m400+=dayMoney*0.5 58 t400+=1 59 else : #總金額超過400元,按正常票價收費 60 dayAllMoney+=dayMoney 61 mmax+=dayMoney 62 tmax+=1 63 64 65 dayNowTime+=1 #乘車次數++ 66 67 return (dayMonth,dayTime,dayMoney,dayAllMoney,m100,t100,m150,t150,m400,t400,mmax,tmax) 68 69 70 if __name__== '__main__': 71 (dm,dt,dy,dam,m100,t100,m150,t150,m400,t400,mmax,tmax)= way() 72 73 print("\n") 74 print ("您該月共乘坐北京地鐵 {0} 天,天天 {1} 次,單次乘車消費{2}元,共消費 {3:.2f} 元。".format(dm,dt,dy,dam)) 75 print("\n") 76 print("月總消費額度100元階段內: 共乘坐 {0} 次,階段消費 {1:.2f} 元,共計 {2:.2f} 元。".format(t100,m100,m100)) 77 print("月總消費額度150元階段內: 共乘坐 {0} 次,階段消費 {1:.2f} 元,共計 {2:.2f} 元。".format(t150,m150,m100+m150)) 78 print("月總消費額度400元階段內: 共乘坐 {0} 次,階段消費 {1:.2f} 元,共計 {2:.2f} 元。".format(t400,m400,m100+m150+m400)) 79 print("月總消費額度超過400元階段內: 共乘坐 {0} 次,階段消費 {1:.2f} 元,共計 {2:.2f} 元。".format(tmax,mmax,m100+m150+m400+mmax)) 80 print("\n")
測試結果:utf-8