如果超过限幅限制,我如何确保我的货币转换器显示? (Python)

How can I make sure that my currency converter displays if above clip limit? (Python)

我正在尝试创建一个货币转换器,该转换器考虑了国家/地区的限幅。

我甚至创建了一个根据固定变量显示剪辑电平状态的函数:

input1 = str(input('Enter Currency [CZK or PLN]: '))
value1 = float(input('Enter Value: '))

if input1 == 'PLN' or 'Pln' or 'pln':
    value2 = value1/3
    if input1 == 'CZK' or 'Czk' or 'czk':
        value2 = value1/20
else: print('Some error occurred, try again.')

round(value2,2)
print('The conversion of ', value1, input1, 'is: ', value2,'USD \n')

if value2 >= 20:
    print('ABOVE Clip level - EU PO is required')
else: print('BELOW clip level')
print('value ',value2,'USD matches expected.')

如您所见,代码非常简陋,并且考虑了虚构的转化率。 我想要实现的是函数 returns 的值是 ABOVE/BELOW 根据所选国家/地区剪辑级别。例如,我将 CKZ 和 PLN 作为货币,因此我会使用 CZ 和 PL)。

这样的功能还没有在代码中实现,因为我不确定如何进行。 你能帮忙吗?谢谢!

编辑 > 运行 Younes 的代码: Output

这里是这一行:

else: print('Some error occurred, try again.')

需要一个循环开始。你想创建一个函数然后在循环中调用它,这可能是这样:

def f(country,value):

    if "PL" in country.upper():
        value2 = value/3
    elif "CZ" in country.upper():
        value2 = value/20
    else: 
        raise ValueError
    round(value2,2)
    print('The conversion of ', value1, input1, 'is: ', value2,'USD \n')

    if value2 >= 20:
        print('ABOVE Clip level - EU PO is required')
        return('ABOVE Clip level')
    else: 
        print('value {} USD matches expected.'.format(value2))
        return('BELOW clip level')
    
while True:

    input1 = str(input('Enter Currency [CZK or PLN]: '))
    value1 = float(input('Enter Value: '))

    try :
        f(input1,value1)
        break
    except ValueError:
        print('Some error occurred, try again.')