大家好,我是白菜胡萝丸子
初来乍到,请多指教!!!
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版本为基础,实现三种货币之间的转换(已完结)
综合运用:
"""
作者:白菜胡萝丸子
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