python - 如果超出剪辑限制,我如何确保我的货币转换器显示?(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.')
如您所见,代码非常简陋,并考虑了虚构的转化率。我想要实现的是该函数根据所选国家/地区返回该值高于/低于剪辑级别。例如,我将 CKZ 和 PLN 作为货币,因此我将使用 CZ 和 PL)。
这样的功能还没有在代码中实现,因为我不知道如何继续。你能帮忙吗?谢谢!
由 Younes 编辑 > 运行代码: 输出
解决方案
这一行在这里:
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.')
推荐阅读
- android - 如果我尝试在 android 8.1 下使用 GPU 委托会发生什么
- javascript - 根据选定的搜索条件和搜索关键字显示结果表
- android - 是否可以将原生库/移动 SDK 与 Flutter 集成?
- sql-server - 查找员工的缺勤日期和当前前后的一个日期
- python - python乌龟的while循环内的键绑定
- linux - 在bash中运行多个并行sqlplus连接一段时间
- python - 如何更改数百个基因组中的染色体名称?
- javascript - 单击其他视频后,我试图专注于我的主要 iframe 视频,但它不起作用
- python - 读取excel文件时权限被拒绝错误
- google-apps-script - BigQuery - 尝试使用宏刷新数据连接时出现 Google 表格错误