【问题标题】:How to create arbitrary number of turtles in a loop如何在循环中创建任意数量的海龟
【发布时间】:2016-02-15 03:50:18
【问题描述】:

我已经尝试将它们放在一个列表中:

import turtle
nmb = 4
turtles = [turtle.Turtle for _ in range(nmb)]

但是当我尝试移动它时,我得到了

turtles[1].forward(10)
TypeError: forward() missing 1 required positional argument: 'distance'

当我尝试“setpos”时,我得到了

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

也许有更好的方法来制作任意数量的海龟。实际上,我试图接收不在列表中的海龟,但我没有找到方法。

【问题讨论】:

  • 这对我有用...如果我将 Turtle 声明更改为 turtles = [turtle.Turtle() for _ in range(nmb)] 如果我不这样做,我会得到一个不同的错误(未绑定方法前进..在python2上)。在 turtle.Turtle 的末尾添加 () ??

标签: python turtle-graphics


【解决方案1】:

你从来没有真正为 Turtle 调用过 init,第 3 行应该是这样的:

turtles = [turtle.Turtle() for _ in range(nmb)]

【讨论】:

    【解决方案2】:

    你需要初始化你的海龟对象:

    import turtle
    nmb = 4
    turtles = [turtle.Turtle() for _ in range(nmb)]
    turtles[1].forward(10)
    

    这会导致你的海龟按预期前进

    【讨论】:

      猜你喜欢
      • 2021-02-10
      • 2016-03-11
      • 2023-03-29
      • 2021-02-25
      • 2018-07-10
      • 1970-01-01
      • 1970-01-01
      • 2020-05-11
      相关资源
      最近更新 更多