【菜鸟学Python】案例一:汇率换算
汇率换算V1.0
案例描述:
设计一个汇率换算器程序,其功能是将外币换算成人民币,或者相反
案例分析:
分析问题:分析问题的计算部分;
确定问题:将问题划分为输入、处理及输出部分;
设计算法:计算部分的核心(输出 = 输入 / 汇率);
上机实验:
"""
作者:李舵
功能:汇率兑换
版本:1.0
日期:2019/4/8
""" # 汇率
USD_VS_RMB = 6.77 # 人民币的输入
rmb_str_value = input('请输入人民币(CNY)金额:') # 将字符串转换为数字
rmb_value = eval(rmb_str_value) # 汇率计算
usd_value = rmb_value / USD_VS_RMB # 输出结果
print('美元(USD)金额是:', usd_value)
补充说明:
1、#用于单行注释
2、以三个单引号开始三个单引号结束用于多行注释
#单行注释说明 '''
用于多行注释说明
'''
或
"""
用于多行注释说明
"""
V2.0新增功能:
根据输入判断是人民币还是美元,进行相应的转换计算
案例分析:
输入:带单位的货币金额
上机实验:
"""
作者:李舵
功能:汇率兑换
版本:2.0
日期:2019/4/8
新增功能:根据输入判断是人民币还是美元,进行相应的转换计算
""" # 汇率
USD_VS_RMB = 6.77 # 带单位的货币输入
currency_str_value = input('请输入带单位的货币金额:') # 获取货币单位
unit = currency_str_value[-3:] if unit == 'CNY':
# 输入的是人民币
rmb_str_value = currency_str_value[:-3]
# 将字符串转换为数字
rmb_value = eval(rmb_str_value)
# 汇率计算
usd_value = rmb_value / USD_VS_RMB # 输出结果
print('美元(USD)金额是:', usd_value) elif unit == 'USD':
# 输入的是美元
usd_str_value = currency_str_value[:-3]
# 将字符串转换为数字
usd_value = eval(usd_str_value)
# 汇率计算
rmb_value = usd_value * USD_VS_RMB # 输出结果
print('人民币(CNY)金额是:', rmb_value) else:
# 其他情况
print('目前版本尚不支持该种货币!')
补充说明:
Python语言的基本语法
缩进:
1个tab键或者4个空格
表示代码的层次关系
是Python语言中表示程序框架的唯一手段
常量与变量
常量:程序执行过程中,值不发生改变的元素,程序中多次使用的值可作为常量便于改进及维护
变量:程序过长中,值发生改变或者需要改变的元素
命名规则
命名:为程序元素关联一个名称,要保证唯一性
规则:大小写字母,数字,下划线,不能以数字开头,大小写敏感,不能和保留字相同
#Python保留字查看方式 import keyword
print(keyword.kwlist)
表达式:程序中产生新数据值或执行操作的一行代码
输入:
input() #获得用户的输入信息并以字符串的形式保存
输出:
print() #向屏幕输入信息
字符串索引:
正向索引(从左至右,从0开始):
spam = 'PYTHON'
spam[2] # 获取变量为spam的第三个元素即'T'
逆向索引(从右至左,从-1开始)
spam = 'PYTHON'
spam[-3] # 获取变量为spam的倒数第三个元素即'H'
区间索引([a:b]),从位置a到位置b部分的元素,不包括位置b的元素
spam = 'PYTHON'
spam[0:3] #获取第一元素至第三个元素,即'PYT'
spam[:3] #从0开始,0可以省略
spam[-3:-1] #从倒数第三个元素到倒数第一个元素
spam[-3:] #从倒数第三个元素到倒数第一个元素取到末尾可以省略不写
分支语句if else
分支语句
控制程序的语句
根据判断条件选择程序的执行路径
使用方法:
if <条件1>:
<语句块1>
elif <条件2>:
<语句块2>
…
else:
<语句块N>
V3.0增加功能:
案例描述:
程序可以一直运行,知道用户选择退出
案例分析:
使用循环语句while
上机实验:
"""
作者:李舵
功能:汇率兑换
版本:3.0
日期:2019/4/8
2.0 新增功能:根据输入判断是人民币还是美元,进行相应的转换计算
3.0 增加功能:程序可以一直运行,直到用户选择退出
""" # 汇率
USD_VS_RMB = 6.77 # 带单位的货币输入
currency_str_value = input('请输入带单位的货币金额(退出程序请输入Q):') i = 0 while currency_str_value != 'Q':
i = i + 1
# print('循环次数', i)
# 获取货币单位
unit = currency_str_value[-3:] if unit == 'CNY':
# 输入的是人民币
rmb_str_value = currency_str_value[:-3]
# 将字符串转换为数字
rmb_value = eval(rmb_str_value)
# 汇率计算
usd_value = rmb_value / USD_VS_RMB # 输出结果
print('美元(USD)金额是:', usd_value) elif unit == 'USD':
# 输入的是美元
usd_str_value = currency_str_value[:-3]
# 将字符串转换为数字
usd_value = eval(usd_str_value)
# 汇率计算
rmb_value = usd_value * USD_VS_RMB # 输出结果
print('人民币(CNY)金额是:', rmb_value) else:
# 其他情况
print('目前版本尚不支持该种货币!') print('************************************************')
# 带单位的货币输入
currency_str_value = input('请输入带单位的货币金额(退出程序请输入Q):') print('程序已退出!')
补充说明:
循环语句
控制程序的语句
根据判断条件确定一段程序是否再次执行一次或者多次
使用方法:
while (<条件>):
<语句块1>
<语句块2>
当条件为真(True)时,执行语句块1;为假(False)时,退出循环
【菜鸟学Python】案例一:汇率换算的更多相关文章
- 菜鸟学python之大数据的初认识
这次作业的要求来自于:https://edu.cnblogs.com/campus/gzcc/GZCC-16SE1/homework/2639 1.这些分析所采用数据来源是什么? 国家数据库:中国铁路 ...
- 菜鸟学python之程序初体验
作业来源:https://edu.cnblogs.com/campus/gzcc/GZCC-16SE1/homework/2684 1.字符串操作: 解析身份证号:生日.性别.出生地等. def id ...
- 【Python 11】汇率兑换4.0(函数)
1.案例描述 设计一个汇率换算程序,其功能是将美元换算成人民币,或者相反. 2.0增加功能:根据输入判断是人民币还是美元,进行相应的转换计算 3.0增加功能:程序可以一直运行,知道用户选择退出 4.0 ...
- 【Python 08】汇率兑换2.0-1(字符串索引)
1.案例描述 设计一个汇率换算程序,其功能是将人民币转换为美元,或者美元转换为人民币. 增加功能:根据输入判断是人民币还是美元,进行相应的转换计算. 2.案例分析 3.字符串 两个双引号或单引号括起 ...
- 【Python五篇慢慢弹】快速上手学python
快速上手学python 作者:白宁超 2016年10月4日19:59:39 摘要:python语言俨然不算新技术,七八年前甚至更早已有很多人研习,只是没有现在流行罢了.之所以当下如此盛行,我想肯定是多 ...
- [java] 汇率换算器实现-插曲1-正则表达式(1)
[java] 汇率换算器实现-插曲1-正则表达式(1) // */ // ]]> // */ // ]]> [java] 汇率换算器实现-插曲1-正则表达式(1) Table of C ...
- 【Python 12】汇率兑换5.0(Lambda函数)
1.案例描述 设计一个汇率换算程序,其功能是将美元换算成人民币,或者相反. 2.0增加功能:根据输入判断是人民币还是美元,进行相应的转换计算 3.0增加功能:程序可以一直运行,知道用户选择退出 4. ...
- 【Python 10】汇率兑换3.0(while循环)
1.案例描述 设计一个汇率换算程序,其功能是将美元换算成人民币,或者相反. 2.0增加功能:根据输入判断是人民币还是美元,进行相应的转换计算 3.0增加功能:程序可以一直运行,知道用户选择退出 2.案 ...
- 【Python 06】汇率兑换1.0-1(IPO与字符串转数字)
1.案例描述 设计一个汇率换算器程序,功能是将外币换算成人民币. 2.案例分析 将问题划分为输入.处理及输出三部分(IPO) 3.上机实验 rmb_str_value = input('请输入人民币( ...
随机推荐
- Linux文件系统的目录结构详解
Linux文件系统的目录结构详解 一.前 言 文章对Linux下所有目录一一说明,对比较重要的目录加以重点解说,以帮助初学者熟练掌握Linux的目录结构. 二.目 录 1.什么是文件系统 2.文件 ...
- vue 解决IE不能用的问题
一般来说VUE本身是不支持IE的,但是可以用特殊的方法来解决,亲测可用第一步:下载插件 cnpm install --save babel-polyfill第二步:入口文件main.js引入( imp ...
- PostgreSQL自学笔记:6 PostgreSQL函数
6 PostgreSQL函数 6.2 数学函数 abs(x) 绝对值 pi() 圆周率π select abs(-3),pi(); cookie: MySQL中的pi()默认值3.141593, Po ...
- In the beginning, Coders create the repos and blogs
---恢复内容开始--- 这是一个新的博客 print(‘hello new world’) 这个博客叫做 brain in a jar, 不知道以后会不会改名. 只是因为偶然想到了普特南的缸中之脑理 ...
- jQuery (01) 浏览器的事件模型
浏览器的事件模型 由网景公司引入的 DOM0 级事件模型 把事件处理程序绑定到 DOM 元素的属性上: ele.onclick(); ele.onDOMContentLoad(); ele.onloa ...
- [LeetCode] Generate Random Point in a Circle 生成圆中的随机点
Given the radius and x-y positions of the center of a circle, write a function randPoint which gener ...
- getsockopt和setsockopt函数
在Unix网络编程中通常用到getsockopt和setsockopt两个函数来获取和设置套接口的选项. getsockopt()函数用于获取任意类型.任意状态套接口的选项当前值,并把结果存入optv ...
- Selenium 3----获取断言信息
断言:把实际结果与预期进行比较. 一般可以通过获取title .URL和text等信息进行断言. title:用于获得当前页面的标题. current_url:用户获得当前页面的URL. text:获 ...
- 2018-2019-2 20175320实验二《Java面向对象程序设计》实验报告
2018-2019-2 20175320实验二<Java面向对象程序设计>实验报告 一.实验步骤及内容 (一)了解使用JUint,并对示例代码MyUtil进行测试 1.先在IDEA中安装J ...
- LeetCode 96 - 不同的二叉搜索树 - [DP]
假定 $f[n]$ 表示有 $n$ 个节点的二叉树,有多少种不同结构. 因此 $f[n] = \sum_{i=0}^{n-1} (f[i] \times f[n-1-i])$,选一个节点作为根节点,那 ...