【菜鸟学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('请输入人民币( ...
随机推荐
- javascript数组去重 String字符串去掉两端空格 javascript Array二分法排序 比较 javascript 求和
通过原形添加方法: ==================数组去重(对象去重法)======================= Array.prototype.unique=function(){ va ...
- 微信小程序支付开发之申请退款
微信小程序支付跟微信公众号支付类似,这里不另做记录,如果没有开发过支付,可以查看我关于微信支付的文章 重点记录微信小程序申请退款开发过程中遇到一些坑. 退款接口比支付接口接口多了一个 双向证书 证书介 ...
- Java桥接模式
定义:将抽象部分与它的具体实现部分分离,使他们都可以独立的变化 通过组合的方式建立两个类之间联系,而不是继承 类型:结构型 适用场景: 抽象和具体实现之间增加更多的灵活性 一个类存在两个(或多个)独立 ...
- 无法执行该VI,必须使用LabVIEW完整版开发系统才可以解决该错误
该错误99%是因为你在某个vi中使用了外部系统组件,比如api,.net组件,ActiveX组件,com组件,所有不是Labview原生的接口,在你打包后,在其他没有安装这些组件的电脑上运行,就会出现 ...
- POJ 3280 Cheapest Palindrome (区间DP) 经典
<题目链接> 题目大意: 一个由小写字母组成的字符串,给出字符的种类,以及字符串的长度,再给出添加每个字符和删除每个字符的代价,问你要使这个字符串变成回文串的最小代价. 解题分析: 一道区 ...
- git Disconnected:No supported authentication methods available问题解决
在本地克隆gitlab上的项目,报如下错误:Disconnected:No supported authentication methods available(server sent:publick ...
- 4. Spring 如何通过 XML 文件配置Bean,以及如何获取Bean
在 Spring 容器内拼凑 bean 叫做装配.装配 bean 的时候,你是在告诉容器,需要哪些 bean ,以及容器如何使用依赖注入将它们配合在一起. 理论上,bean 装配的信息可以从任何资源获 ...
- angular.isNumber()
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...
- 新浪实时股票数据接口http://hq.sinajs.cn/list=股票代码
股票数据的获取目前有如下两种方法可以获取: 1. http/JavaScript接口取数据 2. web-service接口 1.http/JavaScript接口取数据1.1Sina股票数据接口以大 ...
- [LeetCode] Robot Room Cleaner 扫地机器人
Given a robot cleaner in a room modeled as a grid. Each cell in the grid can be empty or blocked. Th ...