Python 需要帮助解决“零除法错误:零除法”

Python 需要帮助解决“零除法错误:零除法”,python,Python,我正在创建一个程序,将一种货币转换成两种不同的货币。我得到一个错误,上面写着ZeroDivisionError:DivisionbyZero,但它也写着,局部变量“amount_nok”可能在赋值之前被引用 我尝试过多种解决方案,比如创建新变量,或者尝试删除任何尚未实际分配的引用变量,等等 def getRate(FromValue, ToValue): if FromValue == 'NOK' and ToValue == 'USD': rate = 9.0169

我正在创建一个程序,将一种货币转换成两种不同的货币。我得到一个错误,上面写着ZeroDivisionError:DivisionbyZero,但它也写着,局部变量“amount_nok”可能在赋值之前被引用

我尝试过多种解决方案,比如创建新变量,或者尝试删除任何尚未实际分配的引用变量,等等

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'

时的具体情况。您将'NOK'和'EUR'传递给getRate,这意味着它将返回0,下一行将除以它。另外,当您稍后使用9.0169硬编码来计算USD时,为什么要在getRate中定义NOK/USD?