2013-10-10 112 views
0

所以我打算用乌龟在欧盟旗帜上画星星,我设法画出它们,但是它们并不直立。 指的是链接,看星星应该如何站立; 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() 

回答

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

非常感谢您的先生! :) –