черепаха (питон) рисует флаг ЕС

Итак, я планировал нарисовать звезды на флаге Европейского Союза с помощью черепахи, и мне как-то удалось их нарисовать, но они стоят не прямо. перейдите по ссылке, чтобы посмотреть, как должны стоять звезды; 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()

person Philip Tom    schedule 10.10.2013    source источник


Ответы (1)


Итак, ниже я разместил код, который, как мне кажется, делает то, что вы хотите. Чтобы звезда всегда указывала вверх, вы хотите сохранить текущий заголовок (как я делаю в функции 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()
person Bradley Bossard    schedule 11.10.2013
comment
Большое спасибо, сэр! :) - person Philip Tom; 11.10.2013