Ссылка на Упражнения доступна здесь - Пример: Разработка интерфейса, Раздел 4.3 упражнения
Процитируя вопрос, похоже, мне нужно реализовать функцию arc()
:
Создайте более общую версию circle
под названием arc
, которая принимает дополнительный параметр angle
, который определяет, какую долю круга нарисовать.angle
в единицах градусов, поэтому, когда угол = 360, arc
должен нарисовать полный круг.
Код, который я написал до сих пор:
import turtle
import math
bob = turtle.Turtle()
def polygon(t, n, length):
for i in range(n):
t.fd(length)
t.lt(360/n)
def circle(t, r):
circumference = 2 * math.pi * r
n = int(circumference/3) + 1
length = circumference/n
polygon(t, n, length)
def arc(t, r, angle):
arc_length = 2 * math.pi * r * (angle/360)
n = (arc_length/4) + 1
arc(bob, 1000, 45)
turtle.mainloop()
Я собираюсь вызвать функцию circle()
в arc()
, так же как polygon()
вызывался вcircle()
, но я не понимаю, как мне это сделать.Кроме того, функция arc()
не ничего рисует, а просто показывает мне неподвижную Черепаху.
Я считаю, что объект Черепаха bob
не получает ни одного изинструкции по перемещению, назначенные в пределах polygon()
.Таким образом, все, что он делает, это отображает объект «Черепаха»!
Я могу ошибаться, и здесь мне нужно разъяснение.Должен ли я позвонить circle()
в пределах arc()
, а также заставить объект Черепаха двигаться?Есть ли более простые альтернативы?Вызов функций внутри функции все еще сбивает меня с толку, поэтому было бы неплохо узнать больше о них!