Python 2.7 Python2.7:在上一个函数中定义的变量,接收未定义的错误
所以我的变量在inputnfo()中定义得很清楚,为什么会出现未定义的错误?尝试&也许除外?我已添加或删除。。。到处交换,似乎找不到解决方案,网上的答案似乎非常基于情况。。。提前感谢:) 超级新的和改进的编辑:现在获取UnboundLocalError 这是因为函数inputnfo()中的变量“much”是该函数的局部变量。这就是为什么在while循环中会出现未定义的错误。有两种解决办法 1.通过包含行,使变量“多”为全局变量Python 2.7 Python2.7:在上一个函数中定义的变量,接收未定义的错误,python-2.7,undefined,Python 2.7,Undefined,所以我的变量在inputnfo()中定义得很清楚,为什么会出现未定义的错误?尝试&也许除外?我已添加或删除。。。到处交换,似乎找不到解决方案,网上的答案似乎非常基于情况。。。提前感谢:) 超级新的和改进的编辑:现在获取UnboundLocalError 这是因为函数inputnfo()中的变量“much”是该函数的局部变量。这就是为什么在while循环中会出现未定义的错误。有两种解决办法 1.通过包含行,使变量“多”为全局变量 def inputnfo(): global much
def inputnfo():
global much
try:
然后删除generate函数的参数
或
2.让函数inputnfo()返回很多,并在while循环中使用该返回值并生成函数
对变量“which”执行相同的操作
在前面加一行“”
which = ""
def inputnfo():
global much
发布完整的回溯。我意识到了全局性,并将其应用到了很多可以正常工作的地方,但是为什么我要在我的函数外将其声明为空字符串,并使用全局?@OsirisHex它挂起,因为生成函数中的while循环和while循环bellow####正在运行的while循环中没有中断条件。。。关键字global用于通知解释器,在使用该变量时,它应该使用全局变量…因此,如果没有全局变量,那么它将给出错误…因此,一个空的declaration
which = ""
def inputnfo():
global much