当前位置: > 外汇>正文
用Python 实现简单的汇率计算 外汇汇率怎么换算成人民币汇率的公式
1.0:最原始的算法,input 输入人民币后,eval将字符串变为数字,汇率定位默认值(6.77),计算出转换的美元金额后用print()输出。 """汇率兑换1.0,初始算法"""RNB=input("请输入人民币金额:" )R_value=eval(RNB)vs=6.77R_vs_U=R_value/vsprint("美元金额为:",R_vs_U) 注意:输出时字符串与数值型的输出之间用冒号隔开。2.0:增加了货币种类的判断问题,1.0只能将RMB兑换为USD。访问输入的货币最后3个字符(货币单位),用if elif else语句进行判断,然后根据货币种类进行兑换 """货币兑换2.0(增加新功能)"""USD_vs_RMB=6.7Price=input("请输入带单位的数据金额:")unit=Price[-3:]if unit=="CNY": RMB_str_value=Price[:-3] RMB_value=eval(RMB_str_value) #RMB_value=eval(Price)会报错!!! USD_value=RMB_value/USD_vs_RMB print("美元(USD)金额为:",USD_value)elif unit=="USD": USD_str_value=Price[:-3] USD_value=eval(USD_str_value) RMB_value=USD_value*USD_vs_RMB print("人民币(RMB)金额为:",RMB_value)else : print("目前版本不支持该种货币换算!")
注意:将可能出现的情况考虑全面,该算法只能进行RMB与USD之间的兑换,其他币种不能实现兑换!
3.0: 加入循环(while)后,可以进行多次的货币兑换,直到退出(Q),while循环之内为2.0的算法。"""货币兑换3.0(加入循环)"""USD_vs_RMB=6.7i=0Price=input("请输入带单位的数据金额(如果退出请输入Q):")while Price!="Q": i=i+1 #print("循环次数为:",i) unit=Price[-3:] if unit=="CNY": RMB_str_value=Price[:-3] RMB_value=eval(RMB_str_value) #RMB_value=eval(Price)会报错!!! USD_value=RMB_value/USD_vs_RMB print("美元(USD)金额为:",USD_value) elif unit=="USD": USD_str_value=Price[:-3] USD_value=eval(USD_str_value) RMB_value=USD_value*USD_vs_RMB print("人民币(RMB)金额为:",RMB_value) else : print("目前版本不支持该种货币换算!") print("*********************************************************************") Price = input("请输入带单位的数据金额(如果退出请输入Q):")##如果不加这一句会出现死循环!!!!print("您已退出该系统!")注意:要注意死循环问题,通过更新输入的货币金额防止死循环。
4.0: 将有关汇率计算的函数进行封装,然后进行条件判断(if elif),最后调用函数。"""货币兑换4.0(应用函数)"""def money_change(inv,exc): return inv*excUSD_vs_RMB=6.7Price=input("请输入带单位的数据金额:")unit=Price[-3:]if unit=="CNY": exchange_rate=1/USD_vs_RMBelif unit=="USD": exchange_rate=USD_vs_RMBelse : exchange_rate=-1if exchange_rate!=-1: money_value=eval(Price[:-3]) out_money=money_change(money_value,exchange_rate) print("兑换金额为:",out_money)else: print("不支持该种货币!!!") 5.0:将整个函数进行结构化,最后直接调用。lambda简单函数的应用。"""使函数结构化lambda函数的应用"""def main(): USD_vs_RMB=6.7 Price=input("请输入带单位的数据金额:") unit=Price[-3:] 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: money_value=eval(Price[:-3]) ##out_money=money_change(money_value,exchange_rate) money_exchange=lambda x:x*exchange_rate out_money=money_exchange(money_value) print("兑换金额为:",out_money) else: print("不支持该种货币!!!")if __name__=="__main__": main()###主函数的调用注意:调用主函数时的格式
版权声明: 本站仅提供信息存储空间服务,旨在传递更多信息,不拥有所有权,不承担相关法律责任,不代表本网赞同其观点和对其真实性负责。如因作品内容、版权和其它问题需要同本网联系的,请发送邮件至 举报,一经查实,本站将立刻删除。