【问题标题】:How to get the position of the turtle?如何获得乌龟的位置?
【发布时间】:2017-12-19 06:02:41
【问题描述】:

如何在python中找到乌龟的坐标?

例如,如果海龟位于(200, 300),我将如何检索该位置?

【问题讨论】:

  • fx = food.getx() AttributeError: 'Turtle' object has no attribute 'getx' 我得到这个错误
  • 要访问 X(或 Y)坐标,您可以使用 fx = food.xcor()(或 food.ycor())但如果需要,最好使用 food.getposition()(或其同义词food.getpos())两个坐标。

标签: python turtle-graphics python-turtle


【解决方案1】:

turtle documentation 表示turtle.pos() 将位置作为Vec2D 向量。

【讨论】:

  • 所以如果我想知道turtle1和turtle2是否在同一个坐标上,如果turtle1.pos() == turtle2.pos()
  • @User9123 你只需检查Vec2D 对象是否相等,所以是的
【解决方案2】:

我想知道turtle1和turtle2是否在同一个坐标上 如果 turtle1.pos() == turtle2.pos() 会做

是的,但是由于海龟在浮点平面上运行,当它们靠近但不完全位于彼此之上时,这可能会给您带来麻烦。像这样的测试你可能会更好:

turtle1.distance(turtle2) < 0.1

即是中心之间的距离小于您确定的某个模糊因子。如果您想知道是否有任何乌龟部分重叠(例如腿接触),那么您的 fuzz factor 可能高达 10.0

【讨论】:

    【解决方案3】:

    如python文档中所示turtle.pos()是最好的解决方案

    【讨论】:

      【解决方案4】:

      turtle.pos() 方法返回一个元组

      向量是从元组派生的,所以向量就是元组!

      因此您可以使用以下命令检查海龟是否位于特定坐标:

      if turtle.pos() == (5.0, 0.0):
          print(“at coordinate”)
      

      【讨论】:

        最近更新 更多