北京地铁月度消费总金额计算(Python版)
最近业余时间在学习Python,这是那天坐地铁时突发奇想,想看看我这一个月的地铁费共多少钱,所以简单的构思了下思路,就直接开写了,没想到用Python来实现还挺简单的。
设计思路:
每次乘车正常消费7元,每天乘车2次,每月工作日乘车22天。
每月乘车总金额超过100元,下次乘车票价的8折
每月乘车总金额超过150元,下次乘车票价的5折
每月乘车总金额超过400元,下次乘车不打折
代码:
- # _*_coding=utf-8 _*_
- __author__ = 'Xue'
- '''
- 计算北京地铁每月乘车票价总金额
- version 1.0
- 默认:每次乘车x元,每天乘车2次,每月乘车22天
- 每月乘车总金额超过100元,下次乘车票价的8折
- 每月乘车总金额超过150元,下次乘车票价的5折
- 每月乘车总金额超过400元,下次乘车不打折
- '''
- def way():
- dayMoney=int(raw_input("请输入您单次乘车正常票价(单位:元):"))
- dayTime=raw_input("请输入您每天乘车次数(默认2次):")
- dayMonth=raw_input("请输入您每月乘车天数(默认22天):")
- dayAllMoney=0.0 #当月乘车总金额
- #统计各阶段乘车的钱数和次数和
- m100=0.0
- m150=0.0
- m400=0.0
- mmax=0.0
- t100=0
- t150=0
- t400=0
- tmax=0
- if dayTime=='':
- dayTime=2
- else:
- dayTime=int(dayTime) #格式转换
- if dayMonth=='':
- dayMonth=22
- else:
- dayMonth=int(dayMonth) #格式转换
- dayMonthTime=dayTime*dayMonth #每月总乘车次数
- dayNowTime=0 #乘车次数记录
- while dayNowTime<=dayMonthTime:
- if dayAllMoney<=100.0: #总金额小等于100元时,按正常票价收费
- dayAllMoney+=dayMoney
- m100+=dayMoney
- t100+=1
- elif dayAllMoney<=150.0: #总金额小等于150时,按正常票价的8折收费
- dayAllMoney+=dayMoney*0.8
- m150+=dayMoney*0.8
- t150+=1
- elif dayAllMoney<=400.0: #总金额小等于400时,按正常票价的5折收费
- dayAllMoney+=dayMoney*0.5
- m400+=dayMoney*0.5
- t400+=1
- else : #总金额超过400元,按正常票价收费
- dayAllMoney+=dayMoney
- mmax+=dayMoney
- tmax+=1
- dayNowTime+=1 #乘车次数++
- return (dayMonth,dayTime,dayMoney,dayAllMoney,m100,t100,m150,t150,m400,t400,mmax,tmax)
- if __name__== '__main__':
- (dm,dt,dy,dam,m100,t100,m150,t150,m400,t400,mmax,tmax)= way()
- print("\n")
- print ("您该月共乘坐北京地铁 {0} 天,每天 {1} 次,单次乘车消费{2}元,共消费 {3:.2f} 元。".format(dm,dt,dy,dam))
- print("\n")
- print("月总消费额度100元阶段内: 共乘坐 {0} 次,阶段消费 {1:.2f} 元,共计 {2:.2f} 元。".format(t100,m100,m100))
- print("月总消费额度150元阶段内: 共乘坐 {0} 次,阶段消费 {1:.2f} 元,共计 {2:.2f} 元。".format(t150,m150,m100+m150))
- print("月总消费额度400元阶段内: 共乘坐 {0} 次,阶段消费 {1:.2f} 元,共计 {2:.2f} 元。".format(t400,m400,m100+m150+m400))
- print("月总消费额度超过400元阶段内: 共乘坐 {0} 次,阶段消费 {1:.2f} 元,共计 {2:.2f} 元。".format(tmax,mmax,m100+m150+m400+mmax))
- print("\n")
测试结果:
北京地铁月度消费总金额计算(Python版)的更多相关文章
- Python科学计算发行版—Anaconda
Python是一种强大的编程语言,其提供了很多用于科学计算的模块,常见的包括numpy.scipy和matplotlib.要利用Python进行科学计算,就需要一一安装所需的模块,而这些模块可能又依赖 ...
- 目前比较流行的Python科学计算发行版
经常有身边的学友问到用什么Python发行版比较好? 其实目前比较流行的Python科学计算发行版,主要有这么几个: Python(x,y) GUI基于PyQt,曾经是功能最全也是最强大的,而且是Wi ...
- 栈应用之 后缀表达式计算 (python 版)
栈应用之 后缀表达式计算 (python 版) 后缀表达式特别适合计算机处理 1. 中缀表达式.前缀表达式.后缀表达式区别 中缀表达式:(3 - 5) * (6 + 17 * 4) / 3 17 ...
- 北京地铁出行线路规划系统项目总结(Java+Flask+Vue实现)
北京地铁出行线路规划系统项目总结 GitHub仓库地址:https://github.com/KeadinZhou/SE-Subway Demo地址:http://10.66.2.161:8080/ ...
- 【原】Learning Spark (Python版) 学习笔记(三)----工作原理、调优与Spark SQL
周末的任务是更新Learning Spark系列第三篇,以为自己写不完了,但为了改正拖延症,还是得完成给自己定的任务啊 = =.这三章主要讲Spark的运行过程(本地+集群),性能调优以及Spark ...
- ROS Learning-021 learning_tf-05(编程) now() 和 Time(0) 的区别 (Python版)
ROS Indigo learning_tf-05 now() 和 Time(0)的区别 (Python版) - waitForTransform() 函数 我使用的虚拟机软件:VMware Work ...
- 稀疏矩阵相乘-Python版
稀疏矩阵相乘-Python版 Given two sparse matrices A and B, return the r ...
- 人脸验证算法Joint Bayesian详解及实现(Python版)
人脸验证算法Joint Bayesian详解及实现(Python版) Tags: JointBayesian DeepLearning Python 本博客仅为作者记录笔记之用,不免有很多细节不对之处 ...
- Dijkstra算法_北京地铁换乘_android实现-附带源码.apk
Dijkstra算法_北京地铁换乘_android实现 android 2.2+ 源码下载 apk下载 直接上图片 如下: Dijkstra(迪杰斯特拉)算法是典型的最短路径路由算法,用于计 ...
随机推荐
- Apache 常用伪静态配置
1. /a/b?c=d => index.php?_a=a&_m=b&c=d 2. /xxx/detail-yyy.html => index.php?_a=xxx& ...
- IE6兼容透明JS
<!--兼容png格式图片--> <!--[]> <script type="text/javascript" src="Js/DD_bel ...
- (原创)学习MCU的感悟_初级(MCU,经验)
1.Abstract 想了许多,不知道怎么开始,这算是学习和应用MCU的第四个年头了:过程虽然坎坎坷坷,但仍然还是坚持到了今天,也总算是折腾入行了.为了写的还是能够读下去,还特意写了一个小提纲 ...
- 让IE支持placeholder属性~
原文:https://www.oschina.net/code/snippet_206691_26471#44160 让支持的直接路过,不支持的,完美显示~~ /* * jQuery placeho ...
- webpy使用笔记(一)
webpy入门 工作环境中需要经常生产和测试服务器,机房一直很混乱,因此萌生了开发一个简单方便的服务器管理系统(说的好高大上,其实就是个可以获取服务器信息的小web应用).之所以选择webpy,正式因 ...
- ubuntu安装redis
1.下载安装root@21ebdf03a086:/# apt-cache search redisroot@21ebdf03a086:/# apt-get install redis-server a ...
- sql 取首次投资的人
--- 11月 ---首次投资笔数和投资金额 ) AS stNum,sum(amount) AS stAmount FROM ( ),createtime,) AS riqi,a.amount,a.u ...
- [读书笔记]C#学习笔记七: C#4.0中微小改动-可选参数,泛型的可变性
前言 下面就开始总结C#4.0的一些变化了, 也是这本书中最后的一点内容了, 这一部分终于要更新完了. 同时感觉再来读第二遍也有不一样的收获. 今天很嗨的是武汉下雪了,明天周六,一切都是这么美好.哈哈 ...
- paip.自定义java 泛型类与泛型方法的实现总结
paip.自定义java 泛型类与泛型方法的实现总结 ============泛型方法 public static <atiType,retType> retType reduce ...
- XML的简单学习
推荐入门级学习XML网址W3c http://www.w3school.com.cn/xml/xml_intro.asp 1: XML 指可扩展标记语言 XML 被设计用来传输和存储数据 ...