Python UnboundLocalError:局部变量';除以';分配前参考
这个程序被设计成输入一个数字,并产生它的所有主要因素。 我以前没有使用任何函数,但现在我正在尝试实现它们,以便在我的程序中获得更多功能Python UnboundLocalError:局部变量';除以';分配前参考,python,scope,Python,Scope,这个程序被设计成输入一个数字,并产生它的所有主要因素。 我以前没有使用任何函数,但现在我正在尝试实现它们,以便在我的程序中获得更多功能 divide = 2 factors = [] def nextNumber(): userInput = input("enter a number to generate factors:\n") # number = int(userInput) half = (number / 2) halfFixed = int
divide = 2
factors = []
def nextNumber():
userInput = input("enter a number to generate factors:\n") #
number = int(userInput)
half = (number / 2)
halfFixed = int(half)
for x in range (0, halfFixed): # make second arg half of user number
result = number % divide
if result == 0:
factors.append(divide)
divide +=1
nextNumber()
print (factors)
当我尝试运行它时,输入命令被读取,我可以输入一个数字,但一旦输入,我就会得到错误,“UnboundLocalError:赋值前引用的局部变量'divide'”
任何帮助都将不胜感激。您正在函数中分配给
divide
,使其成为局部变量:
divide +=1
在首次分配值之前,任何其他使用divide
的操作都会引发UnboundLocal
异常
如果您希望它是一个全局的,请使用global
关键字告诉Python:
def nextNumber():
global divide
userInput = input("enter a number to generate factors:\n") #
number = int(userInput)
half = (number / 2)
halfFixed = int(half)
for x in range (0, halfFixed): # make second arg half of user number
result = number % divide
if result == 0:
factors.append(divide)
divide +=1
看看右边的一些问题。这就可以了,非常感谢,如果这是一个重复的问题,我对这个网站有点陌生。