NameError:名称'last_days'未定义|试图划分

时间:2014-01-15 22:43:39

标签: python-3.x calculator divide

我一直在谷歌搜索30分钟,但我无法找到解决问题的方法。 请帮忙!

import math

amount = input("Enter amount of medicine left: ")
dose = input("Enter dose per day: ")

def convertString(str):
    try:
        returnValue = int(str)
    except ValueError:
        returnValue = float(str)
    return returnValue

def count_days(amount, dose):
    last_days = amount / dose
    return last_days

print("Your medicine will run out in ",last_days," days.")

我收到此错误: NameError:未定义名称“last_days”

为什么这不起作用?

2 个答案:

答案 0 :(得分:0)

last_days仅在count_days内定义。在文件顶部初始化变量以更改可见性

答案 1 :(得分:0)

last_days函数中的变量count_days local 。这意味着只要函数结束,变量就不再可用。然而,这不是问题,因为函数实际上返回该值,使其可供其他人使用。

因此,当您执行my_var = count_days(amount, dose)时,该函数将执行,并返回其last_days结果,然后将其存储在my_var中。

last_days = count_days(amount, dose)
print("Your medicine will run out in ", last_days, " days.")