根据以下信息提示,请帮小明计算,他每月乘坐地铁支出的总费用
提示信息:
北京公交地铁新票价确定
据北京市发改委网站消息称,北京市将从2015年12月28起实施公共交通新票价:
地铁6公里(含)内3元,公交车10公里(含)内2元,使用市政交通一卡通
刷卡乘公交车普通卡5折,学生卡2.5折。
具体实施方案如下:
一、城市公共电汽车价格调整为:10公里(含)内2元,10公里以上部分,
每增加1元可乘坐5公里。使用市政交通一卡通刷卡乘坐城市公共电汽车,
市域内路段给予普通卡5折,学生卡2.5折优惠;市域外路段维持现行
折扣优惠不变。享受公交政策的郊区客运价格,
由各区、县政府按照城市公共电汽车价格制定。
二、轨道交通价格调整为:6公里(含)内3元;6公里至12公里(含)4元;
12公里至22公里(含)5元;22公里至32公里(含)6元;32公里以上部分,
每增加1元可乘坐20公里。使用市政交通一卡通刷卡乘坐轨道交通,
每自然月内每张卡支出累计满100元以后的乘次,价格给予8折优惠;
满150元以后的乘次,价格给予5折优惠;支出累计达到400元以后的乘次,
不再享受打折优惠。
要求:
假设每个月,小明都需要上20天班,每次上班需要来回1次,
即每天需要乘坐2次同样路线的地铁;每月月初小明第一次刷公交卡时,
扣款5元;编写程序,帮小明完成每月乘坐地铁需要的总费用
mile = int(input("请输入单次乘坐地铁的公里数(Km):"))
#计算不同公里数对应的单程票价
if mile <= 6 :
price = 3
elif mile <= 12:
price = 4
elif mile <=22:
price = 5
elif mile <=32:
price = 6
else :
price =6 + (mile - 32)//20
sum = 5 #表示每月乘坐地铁需要的总费用
i = 0
while i < 40:
while i < 40 and sum < 400:
while i < 40 and sum < 150:
while i < 40 and sum < 100:
sum = sum + price
i +=1
sum =sum + price * 0.8
i += 1
if i >= 40:
break
sum =sum + price * 0.5
i += 1
if i >= 40:
break
sum = sum + price
i += 1
print("每月乘坐地铁需要的总费用为:%0.1f"%round(sum,1))