需要帮助解决"ZeroDivisionError: division by zero"



我正在创建一个程序,在其中我正在从一种不同的货币转换为两种不同的货币。我收到一个错误,上面写着ZeroDivisionError: division by zero,但它也说,local variable 'amount_nok' might be referenced before assignment.

我已经尝试了多种解决方案,例如创建新变量,或尝试删除任何尚未实际分配的引用变量等。

def getRate(FromValue, ToValue):
if FromValue == 'NOK' and ToValue == 'USD':
rate = 9.0169
else:
rate = 0
return rate

def calculate():
print('Convert an amount from NOK to EUR/USD')
validValue = 'N'
while validValue == 'N':
validValue = 'Y'
try:
amount_nok = int(input("Enter amount you want to convert: "))
except ValueError:
validValue = 'N'
print('Stop this stupidity! Pick a whole number!')
rate_Nok_Eur = getRate('NOK', 'EUR')
print('Amount EUR & USD bought for ' ,'%.2f' % (amount_nok) + ' NOK is '+ '%.2f' % (amount_nok / rate_Nok_Eur) + "N{euro sign}"
'og ', '%.2f' % (amount_nok/9.0169)+"N{dollar sign}")
calculate()

我希望程序在程序的启动阶段运行计算而不会出现任何错误,因此最终输出如下所示

Amount EUR & USD bought for 20 NOK is (dollar amount) and (euro amount)

当你定义rate_Nok_Eur = getRate('NOK', 'EUR')时,你的getRate方法返回零,所以amount_nok / rate_Nok_Eur会给你错误,

您需要在有getRate('NOK', 'EUR')时指定大小写

最新更新