博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
【菜鸟学Python】案例一:汇率换算
阅读量:5327 次
发布时间:2019-06-14

本文共 3640 字,大约阅读时间需要 12 分钟。

汇率换算V1.0

案例描述:

设计一个汇率换算器程序,其功能是将外币换算成人民币,或者相反

案例分析:

分析问题:分析问题的计算部分;

确定问题:将问题划分为输入、处理及输出部分;

设计算法:计算部分的核心(输出 = 输入 / 汇率);

上机实验:

1 """ 2     作者:李舵 3     功能:汇率兑换 4     版本:1.0 5     日期:2019/4/8 6 """ 7  8 # 汇率 9 USD_VS_RMB = 6.7710 11 # 人民币的输入12 rmb_str_value = input('请输入人民币(CNY)金额:')13 14 # 将字符串转换为数字15 rmb_value = eval(rmb_str_value)16 17 # 汇率计算18 usd_value = rmb_value / USD_VS_RMB19 20 # 输出结果21 print('美元(USD)金额是:', usd_value)

补充说明:

1、#用于单行注释

2、以三个单引号开始三个单引号结束用于多行注释

#单行注释说明'''    用于多行注释说明           '''或"""    用于多行注释说明    """

 


V2.0新增功能:

根据输入判断是人民币还是美元,进行相应的转换计算

案例分析:

输入:带单位的货币金额

上机实验:

1 """ 2     作者:李舵 3     功能:汇率兑换 4     版本:2.0 5     日期:2019/4/8 6     新增功能:根据输入判断是人民币还是美元,进行相应的转换计算 7 """ 8  9 # 汇率10 USD_VS_RMB = 6.7711 12 # 带单位的货币输入13 currency_str_value = input('请输入带单位的货币金额:')14 15 # 获取货币单位16 unit = currency_str_value[-3:]17 18 if unit == 'CNY':19     # 输入的是人民币20     rmb_str_value = currency_str_value[:-3]21     # 将字符串转换为数字22     rmb_value = eval(rmb_str_value)23     # 汇率计算24     usd_value = rmb_value / USD_VS_RMB25 26     # 输出结果27     print('美元(USD)金额是:', usd_value)28 29 elif unit == 'USD':30     # 输入的是美元31     usd_str_value = currency_str_value[:-3]32     # 将字符串转换为数字33     usd_value = eval(usd_str_value)34     # 汇率计算35     rmb_value = usd_value * USD_VS_RMB36 37     # 输出结果38     print('人民币(CNY)金额是:', rmb_value)39 40 else:41     # 其他情况42     print('目前版本尚不支持该种货币!')

补充说明:

Python语言的基本语法

缩进:

  1个tab键或者4个空格

  表示代码的层次关系

  是Python语言中表示程序框架的唯一手段

常量与变量

  常量:程序执行过程中,值不发生改变的元素,程序中多次使用的值可作为常量便于改进及维护

  变量:程序过长中,值发生改变或者需要改变的元素

命名规则

  命名:为程序元素关联一个名称,要保证唯一性

  规则:大小写字母,数字,下划线,不能以数字开头,大小写敏感,不能和保留字相同

#Python保留字查看方式import keywordprint(keyword.kwlist)

表达式:程序中产生新数据值或执行操作的一行代码

输入:

  input()   #获得用户的输入信息并以字符串的形式保存

输出:

  print()    #向屏幕输入信息

字符串索引:

  正向索引(从左至右,从0开始):

1 spam = 'PYTHON'2 spam[2]  # 获取变量为spam的第三个元素即'T'

  逆向索引(从右至左,从-1开始)

1 spam = 'PYTHON'2 spam[-3]  # 获取变量为spam的倒数第三个元素即'H'

  区间索引([a:b]),从位置a到位置b部分的元素,不包括位置b的元素

1 spam = 'PYTHON'2 spam[0:3]       #获取第一元素至第三个元素,即'PYT'3 spam[:3]         #从0开始,0可以省略4 spam[-3:-1]    #从倒数第三个元素到倒数第一个元素5 spam[-3:]       #从倒数第三个元素到倒数第一个元素取到末尾可以省略不写

分支语句if else

分支语句

  控制程序的语句

  根据判断条件选择程序的执行路径

  使用方法:

  if <条件1>:

    <语句块1>

  elif <条件2>:

    <语句块2>

  …

  else:

    <语句块N>


V3.0增加功能:

案例描述:

程序可以一直运行,知道用户选择退出

案例分析:

使用循环语句while

上机实验:

1 """ 2     作者:李舵 3     功能:汇率兑换 4     版本:3.0 5     日期:2019/4/8 6     2.0 新增功能:根据输入判断是人民币还是美元,进行相应的转换计算 7     3.0 增加功能:程序可以一直运行,直到用户选择退出 8 """ 9 10 # 汇率11 USD_VS_RMB = 6.7712 13 # 带单位的货币输入14 currency_str_value = input('请输入带单位的货币金额(退出程序请输入Q):')15 16 i = 017 18 while currency_str_value != 'Q':19     i = i + 120     # print('循环次数', i)21     # 获取货币单位22     unit = currency_str_value[-3:]23 24     if unit == 'CNY':25         # 输入的是人民币26         rmb_str_value = currency_str_value[:-3]27         # 将字符串转换为数字28         rmb_value = eval(rmb_str_value)29         # 汇率计算30         usd_value = rmb_value / USD_VS_RMB31 32         # 输出结果33         print('美元(USD)金额是:', usd_value)34 35     elif unit == 'USD':36         # 输入的是美元37         usd_str_value = currency_str_value[:-3]38         # 将字符串转换为数字39         usd_value = eval(usd_str_value)40         # 汇率计算41         rmb_value = usd_value * USD_VS_RMB42 43         # 输出结果44         print('人民币(CNY)金额是:', rmb_value)45 46     else:47         # 其他情况48         print('目前版本尚不支持该种货币!')49 50     print('************************************************')51     # 带单位的货币输入52     currency_str_value = input('请输入带单位的货币金额(退出程序请输入Q):')53 54 55 print('程序已退出!')

补充说明:

循环语句

  控制程序的语句

  根据判断条件确定一段程序是否再次执行一次或者多次

  使用方法:

  while (<条件>):

    <语句块1>

  <语句块2>

  当条件为真(True)时,执行语句块1;为假(False)时,退出循环

 


 

转载于:https://www.cnblogs.com/liduo0413/p/10673243.html

你可能感兴趣的文章
POJ1269(直线之间的关系)
查看>>
[C++面试]单例模式-设计模式
查看>>
Spring.Net学习笔记(5)-集合注入
查看>>
[zz]EI/SCI 检索信息
查看>>
java进阶的书籍
查看>>
11算法策略之动态规划
查看>>
window安装elasticsearch和kibana
查看>>
局部变量与全局变量
查看>>
LoadRunner对移动互联网后端服务器压力测试
查看>>
hibernate 的POJO状态
查看>>
ORM
查看>>
大话数据结构 -07-2 图的遍历
查看>>
HDU3729--I'm Telling the Truth
查看>>
使用handler时的warning:This Handler class should be static or leaks might occur
查看>>
简单截图功能实现
查看>>
spring
查看>>
ssh三大框架,三层架构 整合测试!完整分页代码,JdbcTemplate等测试,存储过程调用,留着以后复习吧...
查看>>
Haskell 笔记(四)函数系统
查看>>
[置顶] 安卓UI组件之ListView详解
查看>>
测试项目测试计划
查看>>