Python 3.x Python累加器错误
我在一个函数中编写了两个嵌套的循环语句,这样我就可以使用turtles通过最低级别循环的一次迭代绘制一个一个大小的正方形,然后使用以下代码在外部循环上增加我的正方形大小:Python 3.x Python累加器错误,python-3.x,Python 3.x,我在一个函数中编写了两个嵌套的循环语句,这样我就可以使用turtles通过最低级别循环的一次迭代绘制一个一个大小的正方形,然后使用以下代码在外部循环上增加我的正方形大小: accumDistance = 0 def drawSquares(): for i in [1, 2, 3, 4, 5]: accumDistance = accumDistance + 20 for l in [1, 2, 3, 4]: greg.forwar
accumDistance = 0
def drawSquares():
for i in [1, 2, 3, 4, 5]:
accumDistance = accumDistance + 20
for l in [1, 2, 3, 4]:
greg.forward(accumDistance)
greg.right(90)
问题是,每当我尝试运行应用程序时,都会收到一个错误。该错误表示,我试图在定义accumDistance变量之前使用它:“UnboundLocalError:赋值前引用的局部变量‘accumDistance’”。我已经将问题隔离到第一个for循环中,在这里我尝试增加。如果我删除“accumDistance=accumDistance+20”并设置accumDistance=20,程序将按预期工作
有人知道为什么这句话有问题吗?谢谢。如果要修改函数中的全局变量,请使用
global
accumDistance = 0
def drawSquares():
> global accumDistance
for i in [1, 2, 3, 4, 5]:
accumDistance = accumDistance + 20
for l in [1, 2, 3, 4]:
greg.forward(accumDistance)
greg.right(90)
请参见当您可以直接使用
范围(1,6)
时,为什么要使用[1,2,3,4,5]
?我们正在使用的书还没有教我这一点,但我现在肯定会使用它,谢谢!