AttributeError: 'int' object has no attribute 'forward'

AttributeError: 'int' object has no attribute 'forward'

我正在尝试编写一些代码来打印 turtle 模块中的一些形状。这是我的代码: #imports

`import random`
#The functions that are used later.
shape = turtle.Pen()
def spiraling_shapes():
    for spiral in range(1,2):
    shape.forward(20)
    shape.left(shape_sides)
def rotating_shapes():
    for rotating in range(1,2):
        shape.left(20)
        for shape_image in range(1,2):
            shape.forward(50)
            shape.left(shape_sides)


#First loop. This will generate a random number
for shape in range (1,6):
    number_of_sides = random.randint(3,8)
    shape_sides = 360 / number_of_sides
#This will check if it is even or odd and run the correct function accordingly
    if number_of_sides % 2 == 0:
        spiraling_shapes()
    else:
        rotating_shapes()

''' 它保持 运行 shape.forward(20) AttributeError: 'int' 对象没有属性 'forward'

依赖全局变量需要小心,很容易不小心覆盖或修改,导致棘手的bug。这就是为什么您会看到人们避免这种情况或将常量全部大写命名的原因。

这里使用shape

shape = turtle.Pen()

不过,稍后您重新分配它:

for shape in range (1,6):

所以现在 shape 是一个整数,而不是 Pen 并且会导致您调用 Pen.forward() 方法的错误。

尝试重命名其中一个变量以快速修复。