北京地铁月度消费总金额计算(Python版)

  最近业余时间在学习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.0
24     m150=0.0
25     m400=0.0
26     mmax=0.0
27     t100=0
28     t150=0
29     t400=0
30     tmax=0
31
32     if dayTime==‘‘:
33         dayTime=2
34     else:
35         dayTime=int(dayTime)  #格式转换
36
37     if dayMonth==‘‘:
38         dayMonth=22
39     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+=dayMoney
49             m100+=dayMoney
50             t100+=1
51         elif dayAllMoney<=150.0:  #总金额小等于150时,按正常票价的8折收费
52             dayAllMoney+=dayMoney*0.8
53             m150+=dayMoney*0.8
54             t150+=1
55         elif dayAllMoney<=400.0: #总金额小等于400时,按正常票价的5折收费
56             dayAllMoney+=dayMoney*0.5
57             m400+=dayMoney*0.5
58             t400+=1
59         else :  #总金额超过400元,按正常票价收费
60             dayAllMoney+=dayMoney
61             mmax+=dayMoney
62             tmax+=1
63
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")

测试结果:

时间: 2024-10-10 23:54:08

北京地铁月度消费总金额计算(Python版)的相关文章

用Python计算北京地铁的两站间最短换乘路线

用Python计算北京地铁的两站间最短换乘路线 地铁数据 地铁数据用字典表示: {station:{neighbor1:line number,neighbor2:line number,-},station2:{-},-} 现在我们有地铁的站名,下面就是如何将地铁站名转化为上面所需要的标准字典格式. 从网上找到的地铁站名为字符串: line1=u'''苹果园 古城路 八角游乐园 八宝山 玉泉路 五棵松 万寿路 公主坟 军事博物馆 木樨地 南礼士路 复兴门 西单 天安门西 天安门东 王府井 东单

Python科学计算发行版—Anaconda

Python是一种强大的编程语言,其提供了很多用于科学计算的模块,常见的包括numpy.scipy和matplotlib.要利用Python进行科学计算,就需要一一安装所需的模块,而这些模块可能又依赖于其它的软件包或库,因而安装和使用起来相对麻烦.幸好有人专门在做这一类事情,将科学计算所需要的模块都编译好,然后打包以发行版的形式供用户使用,Anaconda就是其中一个常用的科学计算发行版. 主页: https://store.continuum.io/cshop/anaconda/ Anacon

目前比较流行的Python科学计算发行版

经常有身边的学友问到用什么Python发行版比较好? 其实目前比较流行的Python科学计算发行版,主要有这么几个: Python(x,y) GUI基于PyQt,曾经是功能最全也是最强大的,而且是Windows系统中科学免费Python发行版的不二选择.不过今时已不同往昔! PythonXY里面的许多包为了兼容性的问题,无法使用最新的程序包.尤其是令人气愤的是MinGW到现在还是古董级的4.5版本,而TDM-GCC现在都4.8.1-3了.不过这个包在你安装了之后,除了占用较大的磁盘空间之外,基本

北京地铁线路规划程序

程序说明: 这个项目是记录地铁线路并且加以计算,所以储存线路是其中的关键部分. 经过慎重的思考以及选择,最后决定采用链表的形式储存整个地图,因为地图的站点分布不均匀,采用邻接矩阵很不合适无法对齐,这样的方式也比邻接链表要方便. 最终的储存结构中,每个站点都有一个单独的station对象,并且储存了相关的信息,站与站之间按照线路排列,每一条线路的起点被专门放在一个数组里面方便访问. 问题地址:http://www.cnblogs.com/jiel/p/5852591.html 输入文件说明: 保存

人脸验证算法Joint Bayesian详解及实现(Python版)

人脸验证算法Joint Bayesian详解及实现(Python版) Tags: JointBayesian DeepLearning Python 本博客仅为作者记录笔记之用,不免有很多细节不对之处. 还望各位看官能够见谅,欢迎批评指正. 博客虽水,然亦博主之苦劳也. 如对代码有兴趣的请移步我的 Github. 如需转载,请附上本文链接,不甚感激!  http://blog.csdn.net/cyh_24/article/details/49059475 Bayesian Face Revis

智慧产物辅治 北京地铁公交涨价

智慧城市机房动力环境监控建 设一直声势浩大,但从概念到落实将近二十年依旧未见太大起色.堵车依旧严重,环境依旧不良,近几年让人头疼的沙尘暴有所减少,但又迎来了 “新客人”雾霾君.一方面限号限行大力提倡公交地铁出行,另一方面公交地铁开始涨价.智慧城市建设落实一缓再缓,地铁公交涨价从提出市面到确定落实用了不 到半年的时间,忆起当年的不涨价说,小编略感压力山大. 发改委已经确定今年12月28日起,结束地铁两元转遍大北京的模式,开启六公里3元起的“高贵”模式.同时,为了缓解公交压力,公交也光荣的同步涨 价

北京地铁线路规划

北京地铁线路规划 任务 个人项目的主要任务就是通过地铁出行的人能够通过该软件很快找到最快到达目的地的出行线路规划. 项目需求 用户根据-map参数来获得所有北京地铁线路信息 java subway -map subway.txt 那么这里的重点就在于如何存储这个subway.txt文件了,首先我们还是看一张北京地铁1号线的图 ![](https://img2018.cnblogs.com/blog/1806411/201909/1806411-20190922113916097-18761194

北京地铁最短路径实现

北京地铁最短路径规划 github地址 github 需求理解 将地铁线路保存成一个可读入,简洁明了的文本 程序能正确读入这个文件,并获取地铁线路信息 程序能正确处理输入的命令行 地铁能正确输出指定地铁线经过的站点 程序能正确输出两个站点间的最短路径 程序要有健壮性,能通过各类性能测试 按要求编写博客,详细说明花费时间,代码,各个模块和测试用例 文本存储方式 该文本直接保存进了各条线路的各个站点,没有在文本中考虑换乘点.当读入"一号线"等文字时,将它转换为线路的id号,然后在way数组

个人项目——北京地铁线路规划

一.前言 现实和理想的差距总是那么大,在过程中碰到的坑比预期的还多(说那么多,其实就是自己菜),过程中复习了淡忘已久的许多算法和数据结构,一边深刻的体会着自己是多菜,一边也体会到了自身一点点微小的进步,大概. 二.项目简介 实现北京地铁查询功能 附上一张北京地铁的图: 三.项目地址 https://github.com/fireworks-EX/MetroLinePlanning 四.需求分析 1.确定储存及读取地铁线路数据文件的格式 2.支持用户输入的地铁线路的查询 3.提供用户指定两站点间的