乌龟(Python)绘制欧盟旗帜

时间:2013-10-10 22:04:40

标签: python-3.x turtle-graphics

所以我打算用乌龟画出欧盟旗帜上的星星,我已经设法画出了它们,但它们并没有站直。  参考链接,看星星应该如何; http://en.wikipedia.org/wiki/Flag_of_Europe

提前致谢

我的代码 ---

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()

1 个答案:

答案 0 :(得分: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()