笔记
从案例分析切入知识点-----由简开始
案例1-4:设计一个汇率换算器程序, 其功能是将外币换算成人民币,比如1US = 6.77元;
2.0新增功能:根据输入判断是人民币还是美元,进行相应的转换计算
3.0增加功能:程序可以一直运行,知道用户选择退出
4.0优化功能:将汇率兑换功能封装到函数中
5.0优化功能:(1)将程序结构化,main函数
(2)将简单的函数改造成lambda函数
----------------------------代码实现------------------------------
"""
--*-- coding: utf-8 --*--
@Time :2019/7/11
@Author :ZHOUMENGJIE
功能:汇率兑换
版本:5.0
-----需求-----
汇率兑换
汇率为6.77
V2.0新增功能:根据输入判断是人民币还是美元,进行相应的转换计算
V3.0新增功能:程序可以一直运行,直到用户退出,统计循环次数
v4.0新增功能 将汇率兑换封装到函数中
v5.0新增功能 使程序结构化
"""
def convert_currency(im,er):
"""
汇率兑换
"""
out = im * er
return out
def main():
# 汇率
USD_VS_RMB = 6.77
# 带单位的金额输入
currency_str_value = input('前请输入带有单位的金额: ')
unit = currency_str_value[-3:]
# 对输入单位做判断输出结果
if unit == 'USD':
exchange_rate = USD_VS_RMB
elif unit == 'CNY':
exchange_rate = 1/USD_VS_RMB
else:
exchange_rate = -1
if exchange_rate != -1:
in_money = eval(currency_str_value[:-3])
# 函数调用
value = convert_currency(in_money,exchange_rate)
print('兑换后的金额:',value)
else:
print('该版本不支持其他货币!')
if __name__ == "__main__":
main()
涉及知识点
main主函数--使程序结构化
1.def main()
调用方式 if name == "main":
main()

lambda函数.png
(2)将简单的函数改造成lambda函数
def main():
"""
主函数
"""
# 汇率
USD_VS_RMB = 6.77
# 带单位的金额输入
currency_str_value = input('前请输入带有单位的金额: ')
unit = currency_str_value[-3:]
# 对输入单位做判断输出结果
if unit == 'USD':
exchange_rate = USD_VS_RMB
elif unit == 'CNY':
exchange_rate = 1/USD_VS_RMB
else:
exchange_rate = -1
if exchange_rate != -1:
in_money = eval(currency_str_value[:-3])
# 定义lambda函数
value = lambda x: x * exchange_rate
# 调用lambda函数
out_value = value(in_money)#in_money的值传入X参数
print('兑换后的金额:',out_value)
else:
print('该版本不支持其他货币!')
if __name__ == '__main__':
main()