北京地铁交通价格调整为:6公里(含)内3元;6公里至12公里(含)4元;12公里至22公里(含)5元;22公里至32公里(含)6元;32公里以上部分, 每增加1元可乘坐20公里。使用市政交通一卡通刷卡乘坐轨道交通,每自然月内每张卡支出累计满100元以后的乘次价格给予8折优惠;满150元以后的乘次价格给予5折优惠,假设每个月,小明都需要上20天班,每次上班需要来回1次,即每天需要乘坐2次同样路线的地铁。
编写程序,从键盘获取每次上班的距离,帮小明计算每月的总花费(小明使用市政交通一卡通乘车,结果保存小数点后两位)。
思路:每个月上二十天班,一天坐两次地铁,也就是说每个月要坐40次地铁,每坐一次地铁总费用都会改变,因此我们要用到循环语句,令初始天数i=1(不可能一天班都不上),每一次循环i做自加,知道i>40,也就是上完班了就退出循环
x = eval(input("请输入单次乘坐地铁的公里数(Km):"))
i=1#天数
money=0#总金额
while i <= 40:
if i==0:
break
if money<100:
if mile <= 6:
money += 3
elif mile <= 12:
money += 4
elif mile <= 22:
money += 5
elif mile <= 32:
money += 6
elif mile > 32:
money += (6+(mile-32)//20)
elif money >= 100 and money < 150:
if mile <= 6:
money += 3*0.8
elif mile <= 12:
money += 4*0.8
elif mile <= 22:
money += 5*0.8
elif mile <= 32:
money += 6*0.8
elif mile > 32:
money += (6+(mile-32)//20)*0.8
elif money >= 150:
if mile <= 6:
money += 3*0.5
elif mile <= 12:
money += 4*0.5
elif mile <= 22:
money += 5*0.5
elif mile <= 32:
money += 6*0.5
elif mile > 32:
money += (6+(mile-32)//20)*0.5
i+=1
if i > 40:
break
print("这个月坐地铁共花了:%0.2f"%money)