Python:'Turtle object has no attribute Turtle'错误似乎没有充分的理由

问题描述

#this is a test

import turtle

wn = turtle.Screen()

turtles = []

def turtle_new(turtle_pos):

    new_turtle = turtle.Turtle()
    turtles.append(new_turtle)
    turtle.penup()
    turtle.goto(turtle_pos)

for i in range(5):

    turtle_pos = (0,0)
    turtle_new(turtle_pos)

for turtle in turtles:

    turtle.forward(100)
    turtle_pos = (turtle.position)
    turtle_new(turtle_pos)



loadWindow = wn

wn.exitonclick()

解决方法

我相信您遇到的具体错误是由以下代码引起的:

for turtle in turtles:

    turtle.forward(100)
    turtle_pos = turtle.position()
    turtle_new(turtle_pos)

您在代码中使用了模块名称turtle,现在您添加了变量名称turtle——而是将迭代变量别的东西:

for yertle in turtles:

    yertle.forward(100)
    turtle_pos = yertle.position()
    turtle_new(turtle_pos)

现在代码应该可以运行了。虽然仍然没有多大意义,因为它在循环 turtles 时增加了 turtles,所以你最终会得到一个无限循环