sususususu12 2022-11-26 11:49 采纳率: 43.8%
浏览 91
已结题

Python实验,函数的类型问题

Python实验
不太懂,求解答
2022年11月20日人民币与美元的汇率为:7.1199人民币≈1美元。
(1)编写cny2usd函数,该函数接收一个参数,形式类似“20cny”,函数输出为人民币对应的美元数量(保留2位小数),如果格式不对,提示用户输入错误;
(2)编写usd2cny函数,该函数接收一个参数,形式类似“20usd”,函数输出为美元对应的人民币数量(保留2位小数),如果格式不对,提示用户输入错误;
(3)编写exchange函数,该函数接收一个或多个形如“20cny”、“20usd”参数,在该函数内调用前面两个函数,输出计算后的结果。
输入示例

img


输出示例

img

  • 写回答

2条回答 默认 最新

  • 阿_旭 2022-11-26 12:29
    关注

    不知道下面代码能否满足你的要求

    img

    """
    022年11月20日人民币与美元的汇率为:7.1199人民币≈1美元。
    (1)编写cny2usd函数,该函数接收一个参数,形式类似“20cny”,函数输出为人民币对应的美元数量(保留2位小数),如果格式不对,提示用户输入错误;
    (2)编写usd2cny函数,该函数接收一个参数,形式类似“20usd”,函数输出为美元对应的人民币数量(保留2位小数),如果格式不对,提示用户输入错误;
    (3)编写exchange函数,该函数接收一个或多个形如“20cny”、“20usd”参数,在该函数内调用前面两个函数,输出计算后的结果。
    """
    import re
    
    change = 7.1199
    
    def cny2usd(money):
        if money == '0':
            print("没有输入转换币种")
        elif not money.lower().endswith('cny'):
            print('错误币种')
        else:
            res = re.findall('^(\d+)cny', money.lower())
            if not res:
                print("发生异常:输入错误")
                return
    
            usd = float(money[:-3]) /  change
            print('人民币转换为美元:%.2f' % usd)
    
    
    def usd2cny(money):
        if money == '0':
            print("没有输入转换币种")
        elif not money.lower().endswith('usd'):
            print('错误币种')
        else:
            res = re.findall('^(\d+)usd', money.lower())
            if not res:
                print("发生异常:输入错误")
                return
    
            usd = float(money[:-3]) * change
            print('美元转换为人民币:%.2f' % usd)
    
    def exchange(*para):
        for each in para:
            if each.lower().endswith('usd'):
                usd2cny(each)
            else:
                cny2usd(each)
    
    
    
    cny2usd('0')
    cny2usd('2a0cny')
    cny2usd('20cny')
    cny2usd('20CNY')
    cny2usd('20Cny')
    cny2usd('2n')
    usd2cny('20usd')
    exchange('20cny','20usd')
    exchange('20ny','20USD','30usd','20en')
    
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 11月30日
  • 已采纳回答 11月26日
  • 创建了问题 11月26日

悬赏问题

  • ¥15 Vue3 大型图片数据拖动排序
  • ¥15 划分vlan后不通了
  • ¥15 GDI处理通道视频时总是带有白色锯齿
  • ¥20 用雷电模拟器安装百达屋apk一直闪退
  • ¥15 算能科技20240506咨询(拒绝大模型回答)
  • ¥15 自适应 AR 模型 参数估计Matlab程序
  • ¥100 角动量包络面如何用MATLAB绘制
  • ¥15 merge函数占用内存过大
  • ¥15 使用EMD去噪处理RML2016数据集时候的原理
  • ¥15 神经网络预测均方误差很小 但是图像上看着差别太大