Python实验,函数的类型问题

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

img


输出示例

img

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

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')


https://download.csdn.net/download/qq_45558497/13725403?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522166943604616800192250084%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fall.%2522%257D&request_id=166943604616800192250084&biz_id=1&utm_medium=distribute.pc_search_result.none-task-download-2~all~first_rank_ecpm_v1~rank_v31_ecpm-1-13725403-null-null.142^v66^pc_rank_34_queryrelevant25,201^v3^control_1,213^v2^t3_esquery_v3&utm_term=Python%E5%AE%9E%E9%AA%8C%EF%BC%8C%E5%87%BD%E6%95%B0%E7%9A%84%E7%B1%BB%E5%9E%8B%E9%97%AE%E9%A2%98&spm=1018.2226.3001.4187.2