0

所以我打算用乌龟在欧盟国旗上画星星,我设法画了它们,但它们没有站直。请参阅链接以查看星星应如何站立;http://en.wikipedia.org/wiki/Flag_of_Europe

提前致谢

我的代码———</p>

import turtle
aze = turtle.Turtle()

aze.shape('turtle')

def makeStar():
        for k in range(5):
        aze.forward(20)
        aze.right(144)

for i in range(12):
        makeStar()
        aze.left(30)
        aze.penup()
        aze.forward(50) 
        aze.pendown()
turtle.mainloop()
4

1 回答 1

3

所以在下面,我发布了一些我相信可以满足您需求的代码。为了让星星始终指向上方,您需要将当前航向(就像我在 makeStar 函数中所做的那样)保存到局部变量(heading_before_star),然后将其重置为 0,绘制星星,并将其重置为航向前。

另外,我注意到的另一个问题是,您当前的代码没有在 12 点和 6 点位置绘制星星,它们整个圆都略微旋转了。为了解决这个问题,我在程序的开头添加了一个 setHeading(-15) 来纠正这个问题。

import turtle
aze = turtle.Turtle()

aze.shape('turtle')

def makeStar():
  heading_before_star = aze.heading()
  aze.setheading(0)
  for k in range(5):
    aze.forward(20)
    aze.right(144)
  aze.setheading(heading_before_star)

aze.setheading(-15)
for i in range(12):
  makeStar()
  aze.left(30)
  aze.penup()
  aze.forward(50)
  aze.pendown()

turtle.mainloop()
于 2013-10-11T00:09:39.493 回答