Моего профессор попросил наш класс, чтобы написать функцию Python, которая делает следующим образом:Python привлечь н-звезду с черепахой графикой
Нарисуйте регулярную н-пятиконечную звезду с боковым д - в функцию с именем звезд (черепаха , п, d)
Вот код, который я до сих пор:
def star(turtle, n, d):
angle = (180-((180*(n-2))/n))*2
for i in range(n):
t.forward(d)
t.left(angle)
return angle
проблема, которую я испытываю, что моя функция только умеет рисовать звезды с нечетным числом углов (5, 7 , 9-сторонние звезды). Когда я прошу его нарисовать звезду с четным числом сторон, она выводит многоугольник со сторонами n/2. Поэтому, прося рисовать 8-стороннюю звезду, выдает квадрат, 6-сторонний дает треугольник и т. Д.
Я пробовал изменять формулу угла много раз, но она никогда не работает ни с каким n.
Спасибо за помощь!
Я не думаю, что есть [регулярная звезда многоугольники] (http://en.wikipedia.org/wiki/ Star_polygon # Примеры) с менее чем 5 сторонами. – martineau
Я знаю, что нет, но числа, подобные 6, 8, 10 и т. Д., Не работают с приведенной выше формулой. – BryanLavinParmenter
Если есть четное число сторон, вам не нужны две отключенные линии? (Подумайте о шестиконечной звезде как о двух треугольниках) – mdurant