前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【菜鸟学Python】案例一:汇率换算「建议收藏」

【菜鸟学Python】案例一:汇率换算「建议收藏」

作者头像
全栈程序员站长
发布2022-09-07 20:03:59
7810
发布2022-09-07 20:03:59
举报

大家好,又见面了,我是你们的朋友全栈君。

汇率换算V1.0

案例描述:

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

案例分析:

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

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

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

上机实验:

代码语言:javascript
复制
 1 """
 2     作者:李舵
 3     功能:汇率兑换
 4     版本:1.0
 5     日期:2019/4/8
 6 """
 7 
 8 # 汇率
 9 USD_VS_RMB = 6.77
10 
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_RMB
19 
20 # 输出结果
21 print('美元(USD)金额是:', usd_value)

补充说明:

1、#用于单行注释

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

代码语言:javascript
复制
#单行注释说明

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

V2.0新增功能:

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

案例分析:

输入:带单位的货币金额

上机实验:

代码语言:javascript
复制
 1 """
 2     作者:李舵
 3     功能:汇率兑换
 4     版本:2.0
 5     日期:2019/4/8
 6     新增功能:根据输入判断是人民币还是美元,进行相应的转换计算
 7 """
 8 
 9 # 汇率
10 USD_VS_RMB = 6.77
11 
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_RMB
25 
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_RMB
36 
37     # 输出结果
38     print('人民币(CNY)金额是:', rmb_value)
39 
40 else:
41     # 其他情况
42     print('目前版本尚不支持该种货币!')

补充说明:

Python语言的基本语法

缩进:

  1个tab键或者4个空格

  表示代码的层次关系

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

常量与变量

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

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

命名规则

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

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

代码语言:javascript
复制
#Python保留字查看方式

import keyword
print(keyword.kwlist)

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

输入:

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

输出:

  print() #向屏幕输入信息

字符串索引:

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

代码语言:javascript
复制
1 spam = 'PYTHON'
2 spam[2]  # 获取变量为spam的第三个元素即'T'

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

代码语言:javascript
复制
1 spam = 'PYTHON'
2 spam[-3]  # 获取变量为spam的倒数第三个元素即'H'

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

代码语言:javascript
复制
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

上机实验:

代码语言:javascript
复制
 1 """
 2     作者:李舵
 3     功能:汇率兑换
 4     版本:3.0
 5     日期:2019/4/8
 6     2.0 新增功能:根据输入判断是人民币还是美元,进行相应的转换计算
 7     3.0 增加功能:程序可以一直运行,直到用户选择退出
 8 """
 9 
10 # 汇率
11 USD_VS_RMB = 6.77
12 
13 # 带单位的货币输入
14 currency_str_value = input('请输入带单位的货币金额(退出程序请输入Q):')
15 
16 i = 0
17 
18 while currency_str_value != 'Q':
19     i = i + 1
20     # 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_RMB
31 
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_RMB
42 
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://javaforall.cn/156117.html原文链接:https://javaforall.cn

本文参与?腾讯云自媒体分享计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客?前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与?腾讯云自媒体分享计划? ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 汇率换算V1.0
    • 案例描述:
      • 案例分析:
        • 上机实验:
          • 补充说明:
          • V2.0新增功能:
            • 案例分析:
              • 上机实验:
                • 补充说明:
                • V3.0增加功能:
                  • 案例描述:
                    • 案例分析:
                      • 上机实验:
                        • 补充说明:
                        领券
                        问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
                        http://www.vxiaotou.com