【菜鸟学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('请输入人民币( ...
随机推荐
- 枚举特性FlagsAttribute的用法
先看官方的解释:指示可以将枚举作为位域(即一组标志)处理. 看起来并不好理解,到底什么是作为位域处理? 其实说的通俗点就是用二进制的表示方式来处理数学集合概念中关于集合的或与非等运算方法. 有什么用 ...
- mysql中的数据类型enum和set
mysql中的字符串数据类型set,enum 原文网址: https://www.cnblogs.com/benbenzhu/p/5604598.html 1.enum 单选字符串数据类型,适合存储表 ...
- cJSON源码分析
JSON (JavaScript Object Notation) 是一种常见使用的轻量级的数据交换格式,既有利于人工读写,也方便于机器的解析和生成. 关于JSON格式的定义,参看网站[1].在该网站 ...
- 99%的Linux运维工程师必须要掌握的命令及运用
本为同步于微信公众号[IT行业技术圈]关注即可查看更多相关知识点~ Linux对于程序员来并不陌生,随着图形化界面的深入人心,渐渐地命令行开始淡出了我们的视野,随着时间的推移也变得生疏且陌生起来.在此 ...
- [转]Web应用防火墙WAF详解
通过nginx配置文件抵御攻击 0x00 前言 大家好,我们是OpenCDN团队的Twwy.这次我们来讲讲如何通过简单的配置文件来实现nginx防御攻击的效果. 其实很多时候,各种防攻击的思路我们都明 ...
- (Android UI)Action Bar
Action Bar 指明用户当前所在的界面,添加多个功能性按键和下拉式选择框,以提供能多功能. 主题一:让应用具备ActionBar 可能条件一:Support Android 3.0(API 11 ...
- (转)RBAC权限模型——项目实战
一.前言 权限一句话来理解就是对资源的控制,对web应用来说就是对url的控制,关于权限可以毫不客气的说几乎每个系统都会包含,只不过不同系统关于权限的应用复杂程序不一样而已,现在我们在用的权限模型基本 ...
- Asia-Tsukuba 2017
A. Secret of Chocolate Poles DP,$f[i][j]$表示高度为$i$,顶层颜色为$j$的方案数. 时间复杂度$O(l)$. #include<cstdio> ...
- 04-JQuery
今日任务 使用JQuery完成页面定时弹出广告 定时器: setInterval clearInterval setTimeout clearTimeout 显示: ...
- 5、faker.js数据模拟
转载于:https://segmentfault.com/a/1190000008574028 今天发现了一个神器--json-server!在他的帮助下可以在很短的时间内搭建一个Rest API, ...