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