博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
北京地铁月度消费总金额计算(Python版)
阅读量:4708 次
发布时间:2019-06-10

本文共 2480 字,大约阅读时间需要 8 分钟。

  最近业余时间在学习Python,这是那天坐地铁时突发奇想,想看看我这一个月的地铁费共多少钱,所以简单的构思了下思路,就直接开写了,没想到用Python来实现还挺简单的。    

设计思路:

  每次乘车正常消费7元,每天乘车2次,每月工作日乘车22天。

  每月乘车总金额超过100元,下次乘车票价的8折

  每月乘车总金额超过150元,下次乘车票价的5折

  每月乘车总金额超过400元,下次乘车不打折

代码:

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.024     m150=0.025     m400=0.026     mmax=0.027     t100=028     t150=029     t400=030     tmax=031  32     if dayTime=='':33         dayTime=234     else:35         dayTime=int(dayTime)  #格式转换36  37     if dayMonth=='':38         dayMonth=2239     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+=dayMoney49             m100+=dayMoney50             t100+=151         elif dayAllMoney<=150.0:  #总金额小等于150时,按正常票价的8折收费52             dayAllMoney+=dayMoney*0.853             m150+=dayMoney*0.854             t150+=155         elif dayAllMoney<=400.0: #总金额小等于400时,按正常票价的5折收费56             dayAllMoney+=dayMoney*0.557             m400+=dayMoney*0.558             t400+=159         else :  #总金额超过400元,按正常票价收费60             dayAllMoney+=dayMoney61             mmax+=dayMoney62             tmax+=163  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")

测试结果:

 

转载于:https://www.cnblogs.com/babycool/p/4611031.html

你可能感兴趣的文章
项目开源-基于ASP.NET Core和EF Core的快速开发框架
查看>>
UVA 580 - Critical Mass(简单DP)
查看>>
iOS应用日志:开始编写日志组件与异常日志
查看>>
Linux通过NFS实现文件共享
查看>>
15模块-Maps【管理地图控件】
查看>>
runtime
查看>>
VS2008中宽字节和普通字节的使用
查看>>
父类 子类 构造方法
查看>>
vs2015下编译duilib的几个问题
查看>>
获取周的日期范围
查看>>
css案例学习之盒子模型
查看>>
postMan模拟get和post请求,支持局域网和外网
查看>>
day16T3改错记
查看>>
Linux 安装 JDK 8
查看>>
ASP.NET Core根据环境切换NLog配置
查看>>
高质量程序设计指南c++/c语言(20)--符号常量
查看>>
strncpy实现
查看>>
华为机试——字符倒叙输出
查看>>
SQLite3中dos命令下退出"...>"状态的方法
查看>>
json/xml processing model与xml和json的简要区别
查看>>