如何在Turtle图形中同时显示同一类的多个实例?
问题原因及解决方法
问题根源
你当前的代码中,list_turtle里的所有元素都是同一个Turtle实例——你只是把同一个turtle对象重复添加了五次到列表中。所以无论你操作列表的哪个索引,本质上都是在移动那唯一的一只乌龟,自然只会显示一个图形。
解决方法
要创建多个独立的Turtle实例,需要每次调用Turtle("square")生成新的对象,而不是重复使用同一个变量。修改后的代码如下:
from turtle import Turtle, Screen screen = Screen() list_turtle = [] # 创建5个独立的红色正方形乌龟实例 for _ in range(5): new_turtle = Turtle("square") new_turtle.color("red") list_turtle.append(new_turtle) # 操作第一个乌龟 list_turtle[0].forward(20) x = list_turtle[0].xcor() y = list_turtle[0].ycor() # 操作第二个乌龟,移动到新位置 list_turtle[1].goto(x + 60, y + 20) screen.exitonclick()
说明
循环中每次创建新的Turtle对象,每个实例都是独立的个体。存入列表后,操作不同索引的元素就会对应不同的乌龟,屏幕上就能显示多个可区分的红色正方形了。
内容的提问来源于stack exchange,提问作者filip.luzny
相关产品推荐
相关产品推荐

