我有这个简单的代码,它绘制了一个完美的六边形,我想修改它以打印出来并找到每个节点的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()
答案 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()