Python——通过while、for、if—else完成一个地铁乘车消费计算器

Python——通过while、for、if—else完成一个小程序

学Python的第三天,郑老师让我们写一个计算车费的小程序,还好之前有写小程序的基础,然后很快就完成了,下面是相关内容(^_^)∠※

题目要求:

根据以下信息提示,请帮小明计算,他每月乘坐地铁支出的总费用:
轨道交通价格调整为:6公里(含)内3元;6公里至12公里(含)4元;12公里至22公里(含)5元;22公里至32公里 (含)6元;32公里以上部分,每增加1元可乘坐20公里。使用市政交通一卡通刷卡乘坐轨道交通,每自然月内每张卡支出累计满100元以后的乘次,价格给予8折优惠;满150元以后的乘次,价格给予5折优惠;支出累计 达到400元以后的乘次,不再享受打折优惠。
要求:
假设每个月,小明都需要上20天班,每次上班需要来回1次,即每天需要乘坐2次同样路线的地铁;编写程序,帮小明完成每月乘坐地铁需要的总费用

下面是代码实现:

#-*-coding:utf-8-*-
print("     *****地铁乘车消费计算计算器*****")
distance = input("请输入您乘车区间的距离,距离大于0:")   #输入每天去公司乘坐地铁的距离(公里)
if distance ==0:
    print("您还是在原地呆着吧")
    exit()
cost = 0.0                                          #设置变量cost记录用户在地铁上的消费情况(元)
day = 1                                             #设置变量记录天数
#while day<=20:
while day<=40:                                      #共20天,来回一共40趟
    rate = 0.0                                      #设置优惠率
#   i = 1                                           #设置while循环,当天数大于20时结束循环
#   while i<=2:                                     #设置内嵌while循环,分别计算来回的消费情况,同样的乘车区间来回的消费可能不一样
    if cost>=100 and cost<150:                      #设置if-elif-else语句判断当前消费情况,并设置变量记录优惠率
        rate = 0.8
    elif cost>=150 and cost<400:
        rate = 0.5
    else :
        rate = 1.0
    if distance<=6:                                 #使用if-elif-else语句判断用户的乘车区间,同时在总消费上增加相应费用乘上优惠率
        cost+=(3*rate)
    elif distance>6 and distance<=12:
        cost+=(4*rate)
    elif distance>12 and distance<=22:
        cost+=(5*rate)
    elif distance>22 and distance<=32:
        cost+=(6*rate)
    else :                                          #乘车超过32公里时候的计算公式
        if (distance-32)%20==0:
            cost+=((6+(distance-32)/20)*rate)
        else:
            cost+=((6+(distance-32)/20+1)*rate)
    day+=1
print("您当月在地铁上的花费为%.2f"%cost)               #输出花费(元),保留两位小数
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章