Python案例1—人民币与美元的汇率兑换V_8.0
大家好,我是白菜胡萝丸子
初来乍到,请多指教!!!
项目导入
V1.0:设计一个汇率换算器程序:其功能是将外币换算成人民币,或者将人民币换算成外币,为了使程序简单:目前只考虑一种外币–美元
V2.0 增加功能:根据输入判断使美元还是人民币,然后进行相应的计算
V3.0 增加功能:使得程序一直运行,直到用户退出
V4.0 增加功能:如果程序中多次用到兑换功能,为避免代码重复(将兑换功能封装到函数中)
V5.0 综合运用:在版本3.0的基础上,将汇率兑换功能封装到函数中,并由用户选择退出功能
V6.0 综合运用:实现人民币、美元和英镑的汇率兑换
V7.0 增加功能:将简单函数改造成lambda函数,将主程序也封装到函数中
V8.0 综合应用:在使用lambda函数的基础上增加while循环,实现用户判断程序是否退出
项目分析—理清思路
- 分析问题:分析问题的计算部分
- 明确问题:划分问题的输入、处理和输出部分(IPO)
- 设计算法:计算部分的核心
知识点学习–万丈高楼平地起
综合应用
- lambda函数
- 主程序的封装
- while循环
- 分支语句
- 字符串的截取
- …
上机编程–动动手,让程序运行起来
参照代码
"""作者:白菜胡萝丸子V8.0:在使用lambda函数的基础上增加while循环,实现用户判断程序是否退出"""def main(): # 设置基础汇率和输入部分 usd_vs_cny = 6.34 # 定义lambda函数 currency_convert = lambda x: x * usd_vs_cny # 设置while循环的判断变量 y_n = input('您好,如果继续运行汇率计算程序请输入y,否者输入n:') # 设置循环次数的变量 i = 0 while y_n == 'y': # 输入带单位的货币金额 money_str_value = input('您好,请您输入带单位的货币金额(美元-USD,人民币-CNY):') # 截取货币金额和单位 unit = money_str_value[-3:] money_value = float(money_str_value[:-3]) # 使用分支语句判断 if unit == 'CNY': exchange_rate = 1 / usd_vs_cny out = currency_convert (money_value) print('您输入的人民币金额为:{},兑换的美元的金额为{},'.format(money_value,out) ) elif unit == 'USD': exchange_rate = usd_vs_cny out = currency_convert(money_value) print('您输入的美元金额为:{},兑换的美元的人民币金额为{},'.format(money_value, out)) else: print('对不起,暂时只支持美元和人民币之间的兑换') i = i + 1 print('您是第{}次运行该程序'.format(i)) print('---------------------------') y_n = input('您好,如果继续运行汇率计算程序请输入y,否者输入n:') print('对不起,该程序已经退出')if __name__ == '__main__': main()
执行结果
您好,如果继续运行汇率计算程序请输入y,否者输入n:y您好,请您输入带单位的货币金额(美元-USD,人民币-CNY):100rmb对不起,暂时只支持美元和人民币之间的兑换您是第1次运行该程序---------------------------您好,如果继续运行汇率计算程序请输入y,否者输入n:y您好,请您输入带单位的货币金额(美元-USD,人民币-CNY):100usd对不起,暂时只支持美元和人民币之间的兑换您是第2次运行该程序---------------------------您好,如果继续运行汇率计算程序请输入y,否者输入n:n对不起,该程序已经退出Process finished with exit code 0
更上一层楼–让程序进化一点点
阶段性编程:
V8.0 综合运用:在7.0的基础上使用while循环,使用户自己判断程序是否退出(已解决)- V9.0 综合应用:使用lambda函数,实现三种货币的转换