修改代码以打印我们的坐标

时间:2015-03-07 22:48:48

标签: python turtle-graphics

我有这个简单的代码,它绘制了一个完美的六边形,我想修改它以打印出来并找到每个节点的x,y坐标,任何人都可以帮我做这个吗?

from swampy.TurtleWorld import *

#Encapsulation
def polygon(t, n=6, length=100):
    angle = 360.0/n
    for i in range(n):
        fd(t, length)
        lt(t, angle)
world = TurtleWorld()
bob= Turtle()
print bob
polygon (bob)
polygon(bob, 8, 70)
wait_for_user()

1 个答案:

答案 0 :(得分:0)

您可以通过.get_x().get_y()方法(Docs)访问海龟的位置。例如,将for循环更改为:

for i in range(n):
    print(t.get_x(), t.get_y())  # <---
    fd(t, length)
    lt(t, angle)

输出

(0, 0)
(100.0, 0.0)
(150.0, 86.60254037844386)
...

为了完整起见,这里是您的完整代码,重构以删除狂野导入并清理一下:

import swampy.TurtleWorld as tw

#Encapsulation
def polygon(t, n=6, length=100):
    angle = 360.0/n
    for _ in range(n):
        print(t.get_x(), t.get_y())
        t.fd(length)
        t.lt(angle)

world = tw.TurtleWorld()
bob = tw.Turtle()

polygon(bob)
polygon(bob, 8, 70)

tw.wait_for_user()