Advertisement

Python案例1—人民币与美元的汇率兑换V_6.0

阅读量:

大家好,我是白菜胡萝丸子

初来乍到,请多指教!!!

项目导入

版本号为V1.0的汇率转换程序旨在完成货币兑换计算任务。该程序能够实现货币间互换单位的转换,并且为了简化开发难度,在当前版本中仅支持美元与人民币之间的汇率转换。

V2.0 增加功能:根据输入判断使美元还是人民币,然后进行相应的计算

V3.0 增加功能:使得程序一直运行,直到用户退出

V4.0 增加功能:如果程序中多次用到兑换功能,为避免代码重复(将兑换功能封装到函数中)

V5.0 综合运用:在版本3.0的基础上,将汇率兑换功能封装到函数中,并由用户选择退出功能

V6.0 综合运用:实现人民币、美元和英镑的汇率兑换

项目分析—理清思路

  1. 解析问题: 解析问题中的计算环节
  2. 界定问题是: 分段将问题是输入, 处理和输出的部分(IPO)
  3. 设计算法: 关注的是计算过程的核心
思维导图分析

知识点学习–万丈高楼平地起

综合运用一下知识:

  • 字符串的截取

  • 函数的定义及调用

  • 分支语句


  • 新知识:

  • 格式化打印输出

    • i被赋值为字符串'白菜胡萝卜丸子'
    • j被赋值为字符串''
    • print语句用来输出提示信息'您好,我是{}在{}创作Python文章'.并利用.format()方法将变量i与j插入到相应的位置中

上机编程–动动手,让程序运行起来

参照代码

复制代码
    """
    学习内容:输出格式化打印
    版本6.0:实现人民币-美元-英镑三种货币之间的转换
    """
    
    
    def currency_convert(money, rate):
    out = money * rate
    return out
    
    
    rmb_vs_usa = 0.157
    rmb_vs_gbd = 0.116
    usa_vs_gbd = 0.741
    y_n = input("您好,请问您是否继续执行程序(继续输入y,否输入n):")
    
    i = 0
    
    while y_n == "y":
    money_str = input("您好,请您输入含有rmb(人民币)、usa(美元)、gbd(英镑)的字母的金额单位:")
    unit = money_str[-3:]
    # 字符型数据转化为浮点型数据
    money_float = float(money_str[:-3])
    
    if unit == "rmb":
        rmb_y_n = input("如果将人民币兑换成美元,请输入y继续:")
        if rmb_y_n == "y":
            exchange_rate = rmb_vs_usa
            out_money = currency_convert(money_float, exchange_rate)
            print("您输入的货币金额为{},转换成美元的金额为{}".format(money_float, out_money))
        else:
            exchange_rate = rmb_vs_gbd
            out_money = currency_convert(money_float, exchange_rate)
            print("您输入的货币金额为{},转换成英镑的金额为{}".format(money_float, out_money))
    elif unit == "usa":
        usa_y_n = input("如果将美元兑换成人民币,请输入y继续:")
        if usa_y_n == "y":
            exchange_rate = 1/rmb_vs_usa
            out_money = currency_convert(money_float, exchange_rate)
            print("您输入的货币金额为{},转换成人民币的金额为{}".format(money_float, out_money))
        else:
            exchange_rate = usa_vs_gbd
            out_money = currency_convert(money_float, exchange_rate)
            print("您输入的货币金额为{},转换成英镑的金额为{}".format(money_float, out_money))
    elif unit == "gbd":
        gbd_y_n = input("如果将英镑兑换成人民币,请输入y继续:")
        if gbd_y_n == "y":
            exchange_rate = 1 / rmb_vs_gbd
            out_money = currency_convert(money_float, exchange_rate)
            print("您输入的货币金额为{},转换成人民币的金额为{}".format(money_float, out_money))
        else:
            exchange_rate = 1/usa_vs_gbd
            out_money = currency_convert(money_float, exchange_rate)
            print("您输入的货币金额为{},转换成美元的金额为{}".format(money_float, out_money))
    else:
        print("对不起,该程序目前仅支持人民币-美元-英镑三种货币的兑换")
    i = i + 1
    print("您好,这是您第{}次运行".format(i))
    print("-------------------------")
    y_n = input("您好,请问您是否继续执行程序(继续输入y,否输入n):")
    print("对不起,您已经退出该程序了")

执行结果

复制代码
    您好,请问您是否继续执行程序(继续输入y,否输入n):y
    您好,请您输入含有rmb(人民币)、usa(美元)、gbd(英镑)的字母的金额单位:100rmb
    如果将人民币兑换成美元,请输入y继续:y
    您输入的货币金额为100.0,转换成美元的金额为15.7
    您好,这是您第1次运行
    -------------------------
    您好,请问您是否继续执行程序(继续输入y,否输入n):y
    您好,请您输入含有rmb(人民币)、usa(美元)、gbd(英镑)的字母的金额单位:100usa
    如果将美元兑换成人民币,请输入y继续:y
    您输入的货币金额为100.0,转换成人民币的金额为636.9426751592357
    您好,这是您第2次运行
    -------------------------
    您好,请问您是否继续执行程序(继续输入y,否输入n):n
    对不起,您已经退出该程序了
    
    Process finished with exit code 0

更上一层楼–让程序进化一点点

  • 基于版本3.0框架,在V5.0版本中对汇率兑换功能进行了整合为函数模块,并提供了退出选项设置(已解决);
  • 在V6.0版本中实现了三种主要货币类型的汇率兑换功能(已解决);
  • 通过技术升级使普通函数优化为lambda形式,在新版本中还对主程序运行流程进行了模块化封装

全部评论 (0)

还没有任何评论哟~