Python入门案例(一):汇率兑换

浏览: 4155

一、汇率兑换V1.0

主要知识点:

  • 注释:说明信息,是不被执行的,单行注释用#,多行注释用三个单引号
  • 命名:命名只能使用字母、数字和下划线;且须保证命名的唯一性;且不能以数字开头,Python是区分字母大小写的,且命名不能和保留字相同
# 查询保留字
import keyword
print(keyword.kwlist)

['False', 'None', 'True', 'and', 'as', 'assert', 'break', 'class', 'continue', 'def', 'del', 'elif', 'else', 'except', 'finally', 'for', 'from', 'global', 'if', 'import', 'in', 'is', 'lambda', 'nonlocal', 'not', 'or', 'pass', 'raise', 'return', 'try', 'while', 'with', 'yield']
  • 字符串索引:正向索引(从左向右);反向索引(从右向左);区间索引[A:B],从位置A到B的部分字符串,不包含位置B
# 字符串索引
s = 'python'
# 正向索引,以0开始
s[0]
'p'
s[3]
'h'
# 反向索引
s[-1]
'n'
s[-3]
'h'
# 区间索引
s[0:3]
'pyt'
s[:3]
'pyt'
s[-3:]
'hon'
s[-6:-3]
'pyt'
  • 输入函数input()、输出函数print()
# -*- coding:utf-8 -*-
"""
@author:Angel
@file:currency_converter1.0.py
@time:2018/11/9 22:59
@1.0功能:将外币换算成人民币,或者相反,仅考虑一种外币(如:美元)
"""
# 人民币的输入
RMB_str_value = input('请输入人民币(CNY)金额:')
# 将字符串转化成数字
RMB_value = eval(RMB_str_value)
print(RMB_value)
# 汇率
usd_vs_rmb = 6.77
# 汇率计算
usd_value = RMB_value / usd_vs_rmb
# 输出结果
print('美元(USD)金额是:', usd_value)


二、汇率兑换V2.0

主要知识点:分支语句if else

# -*- coding:utf-8 -*-
"""
@author:Angel
@file:currency_converter2.0.py
@time:2018/11/10 22:59
@1.0功能:将外币换算成人民币,或者相反,仅考虑一种外币(如:美元)
@2.0增加功能:根据输入判断是人民币还是美元,进行相应的转换计算
"""
# 汇率
usd_vs_rmb = 6.77

# 带单位的货币输入
currency_str_value = input('请输入带单位的货币金额:')
print(currency_str_value)

# 获取货币单位
unit = currency_str_value[-3:]
print(unit)

# 判断货币是美元还是人民币,并进行相应的转换计算
if unit == 'CNY':
usd_value = eval(currency_str_value[:-3]) / usd_vs_rmb
print('美元(USD)金额是:', usd_value)
elif unit == 'USD':
rmb_value = eval(currency_str_value[:-3]) * usd_vs_rmb
print('人民币(CNY)金额是:', rmb_value)
else:
print('该版本尚不支持其他货币')


三、汇率兑换V3.0

主要知识点:循环语句while

# -*- coding:utf-8 -*-
"""
@author:Angel
@file:currency_converter3.0.py
@time:2018/11/11 22:59
@1.0功能:将外币换算成人民币,或者相反,仅考虑一种外币(如:美元)
@2.0增加功能:根据输入判断是人民币还是美元,进行相应的转换计算
@3.0增加功能:程序可以一直运行,直到用户选择退出
"""
# 汇率
usd_vs_rmb = 6.77

# 带单位的货币输入
currency_str_value = input('请输入带单位的货币金额(退出程序输入Q):')
print(currency_str_value)

i = 0

while currency_str_value != 'Q':
i = i + 1
print('循环次数', i)
# 获取货币单位
unit = currency_str_value[-3:]
print(unit)

# 判断美元还是人民币,并进行相应的转换运算
if unit == 'CNY':
usd_value = eval(currency_str_value[:-3]) / usd_vs_rmb
print('美元(USD)金额是:', usd_value)
elif unit == 'USD':
rmb_value = eval(currency_str_value[:-3]) * usd_vs_rmb
print('人民币(CNY)金额是:', rmb_value)
else:
print('该版本尚不支持其他货币')
print('**************************************************************')
# 带单位的货币输入
currency_str_value = input('请输入带单位的货币金额(退出程序输入Q):')

print('程序已退出!')


四、汇率兑换V4.0

主要知识点:自定义函数的定义与调用

Def<函数名>(<参数列表>):

      <函数体>

      Return <返回值列表>

# -*- coding:utf-8 -*-
"""
@author:Angel
@file:currency_converter4.0.py
@time:2018/11/11 22:59
@1.0功能:将外币换算成人民币,或者相反,仅考虑一种外币(如:美元)
@2.0增加功能:根据输入判断是人民币还是美元,进行相应的转换计算
@3.0增加功能:程序可以一直运行,直到用户选择退出
@4.0增加功能:将汇率兑换功能封装到函数中
"""


def convert_currency(im, er):
# 汇率兑换函数
out = im * er
return out


# 汇率
usd_vs_rmb = 6.77

# 带单位的货币输入
currency_str_value = input('请输入带单位的货币金额:')
print(currency_str_value)

# 获取货币单位
unit = currency_str_value[-3:]
print(unit)

# 判断美元还是人民币,并进行相应的处理
if unit == 'CNY':
exchange_rate = 1 / usd_vs_rmb
elif unit == 'USD':
exchange_rate = usd_vs_rmb
else:
exchange_rate = -1

if exchange_rate != -1:
# 获取货币金额
in_money = eval(currency_str_value[:-3])
# 调用函数
out_money = convert_currency(in_money, exchange_rate)
# 输出结果
print('兑换后的金额:', out_money)
else:
print('该版本尚不支持其他货币')


五、汇率兑换V5.0

主要知识点:匿名函数lambda,用于简单的能够在一行内表示的函数,计算结果为返回值

<函数名>=lambda<参数列表>:<表达式>

# -*- coding:utf-8 -*-
"""
@author:Angel
@file:currency_converter5.0.py
@time:2018/11/11 22:59
@1.0功能:将外币换算成人民币,或者相反,仅考虑一种外币(如:美元)
@2.0增加功能:根据输入判断是人民币还是美元,进行相应的转换计算
@3.0增加功能:程序可以一直运行,直到用户选择退出
@4.0增加功能:将汇率兑换功能封装到函数中
@5.0增加功能:(1)使程序结构化 (2)简单函数的定义lambda
"""


def main():
# 汇率
usd_vs_rmb = 6.77

# 带单位的货币输入
currency_str_value = input('请输入带单位的货币金额:')
print(currency_str_value)

# 获取货币单位
unit = currency_str_value[-3:]
print(unit)

# 判断美元还是人民币,并进行相应的处理
if unit == 'CNY':
exchange_rate = 1 / usd_vs_rmb
elif unit == 'USD':
exchange_rate = usd_vs_rmb
else:
exchange_rate = -1

if exchange_rate != -1:
in_money = eval(currency_str_value[:-3])
# 使用lambda定义函数
convert_currency2 = lambda x: x * exchange_rate
# 调用lambda函数
out_money = convert_currency2(in_money)
print('兑换后的金额:', out_money)
else:
print('该版本尚不支持其他货币')


if __name__ == '__main__':
main()
推荐 1
本文由 花花_Angel 创作,采用 知识共享署名-相同方式共享 3.0 中国大陆许可协议 进行许可。
转载、引用前需联系作者,并署名作者且注明文章出处。
本站文章版权归原作者及原出处所有 。内容为作者个人观点, 并不代表本站赞同其观点和对其真实性负责。本站是一个个人学习交流的平台,并不用于任何商业目的,如果有任何问题,请及时联系我们,我们将根据著作权人的要求,立即更正或者删除有关内容。本站拥有对此声明的最终解释权。

0 个评论

要回复文章请先登录注册