2013-10-10 111 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

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