Python基础练习之每月公交地铁费用计算

北京公交地铁新票价确定

据北京市发改委网站消息称,北京市将从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元以后的乘次,不再享受打折优惠。
  本题按照自己理解写的计算方法,不恰当的地方可以自行修改

while True:
    day = 1 #上班天数
    day_time = 1 #每日乘坐次数
    car_money = 0
    choose_car = int(input('请选择交通方式:1.公交 2.地铁:'))
    if choose_car == 1:
        print('==感谢您选择了公交出行==')
        card_style = int(input('请选择交通卡种类:1.普通卡 2.学生卡 :'))
        if card_style == 1:
            car_length = int(input('请输入乘坐距离:'))
            print('开始计算总费用,请稍等...')
            if car_length <= 10:
                car_money = 2 * 0.5
                print('您的总费用为%.2f元,欢迎下次继续乘坐'%car_money)
            if car_length >10:
                i = 1
                n = int((car_length-10)/5)
                if (car_length-10)%5 == 0:
                    car_money = (3 + i * (n-1))*0.5
                    print('您的总费用为%.2f元,欢迎下次继续乘坐' % car_money)
                else:
                    car_money = (3 + i * n) * 0.5
                    print('您的总费用为%.2f元,欢迎下次继续乘坐' % car_money)
        if card_style == 2:
            car_length = int(input('请输入乘坐距离:'))
            print('开始计算总费用,请稍等...')
            if car_length <= 10:
                car_money = 2 * 0.25
                print('您的总费用为%.2f元,欢迎下次继续乘坐' % car_money)
            if car_length > 10:
                i = 1
                n = int((car_length - 10) / 5)
                if (car_length - 10) % 5 == 0:
                    car_money = (3 + i * (n - 1)) * 0.25
                    print('您的总费用为%.2f元,欢迎下次继续乘坐' % car_money)
                else:
                    car_money = (3 + i * n) * 0.25
                    print('您的总费用为%.2f元,欢迎下次继续乘坐' % car_money)
    if choose_car == 2:
        print('==感谢您选择了地铁出行==')
        ditie_length = int(input('请输入乘坐距离:'))
        dayC = int(input('请输入本月乘坐次数总和:'))
        print('开始计算总费用,请稍等...')
        if ditie_length <= 6:
            ditie_money = 3*dayC
            print('您的总费用为%.2f元,优惠信息计算中' %ditie_money)
        if ditie_length > 6 and ditie_length <=12:
            ditie_money = 4*dayC
            print('您的总费用为%.2f元,优惠信息计算中' %ditie_money)
        if ditie_length > 12 and ditie_length <=22:
            ditie_money = 5*dayC
            print('您的总费用为%.2f元,优惠信息计算中' %ditie_money)
        if ditie_length > 22 and ditie_length <=32:
            ditie_money = 6*dayC
            print('您的总费用为%.2f元,优惠信息计算中' %ditie_money)
        if ditie_length > 32:
            i = 1
            n = int((ditie_length - 32)/20)
            if (ditie_length - 32)%20==0:
                ditie_money = 7*dayC + (i * (n-1))*dayC
                print('您的总费用为%.2f元,优惠信息计算中' %ditie_money)
            else:
                ditie_money = 7*dayC + (i * n)*dayC
                print('您的总费用为%.2f元,优惠信息计算中' %ditie_money)

        if ditie_money >= 100 and ditie_money < 150:
            money = (ditie_money - 100)*0.2
            print('本月已优惠%s'%money)
            print('本月实际花费%s'%(ditie_money-money))
        if ditie_money >= 150 and ditie_money < 400:
            money = (ditie_money - 150)*0.5 + (149-100)*0.2
            print('本月已优惠%s'%money)
            print('本月实际花费%s'%(ditie_money-money))
        if ditie_money > 400:
            money = (149-100)*0.2+(399-150)*0.5#计算总共优惠信息
            print('本月已优惠%s' % money)
            print('本月实际花费%s' % (ditie_money - money))

运行结果:

请选择交通方式:1.公交 2.地铁:1
==感谢您选择了公交出行==
请选择交通卡种类:1.普通卡 2.学生卡 :1
请输入乘坐距离:100
开始计算总费用,请稍等...
您的总费用为10.00元,欢迎下次继续乘坐
请选择交通方式:1.公交 2.地铁:1
==感谢您选择了公交出行==
请选择交通卡种类:1.普通卡 2.学生卡 :2
请输入乘坐距离:100
开始计算总费用,请稍等...
您的总费用为5.00元,欢迎下次继续乘坐
请选择交通方式:1.公交 2.地铁:2
==感谢您选择了地铁出行==
请输入乘坐距离:100
请输入本月乘坐次数总和:10
开始计算总费用,请稍等...
您的总费用为100.00元,优惠信息计算中
本月已优惠0.0
本月实际花费100.0
请选择交通方式:1.公交 2.地铁:2
==感谢您选择了地铁出行==
请输入乘坐距离:300
请输入本月乘坐次数总和:40
开始计算总费用,请稍等...
您的总费用为800.00元,优惠信息计算中
本月已优惠134.3
本月实际花费665.7
请选择交通方式:1.公交 2.地铁:

你可能感兴趣的:(Python)