Какая фигура получится?
from turtle import*
def line(a):
if a==0:
return 0
else:
t.forward(a)
t.left(120)
line(a-10)
t=Turtle()
line(70)
Коротко: фигура — открытая ломаная из 7 отрезков, чередующих направлениями вдоль сторон равностороннего треугольника. Не образует замкнутый контур.
Детально по шагам
1) Что делает код
- line(a) вызывает себя рекурсивно, пока a не станет 0.
- В каждом вызове: turtle двигается вперед на расстояние a, затем поворачивает на 120 градусов влево, и вызывает line(a-10).
2) Значения a в последовательности
70, 60, 50, 40, 30, 20, 10, затем 0 и выход. То есть всего 7 отрезков.
3) Направления
- Начальная ориентация t.heading = 0 (направление вправо).
- После каждого отступа поворот на 120 градусов влево.
- Направления сегментов чередуются между 0°, 120°, 240° по циклу:
- 0° (вправо), затем 120° (вверх-лево), затем 240° (вниз-лево), затем снова 0°, и так далее.
4) Координаты вершин (от старта (0,0))
- A = (0, 0)
- B = A + (70, 0) = (70, 0)
- C = B + 60·(cos120, sin120) = (70,0) + (-30, 30√3) = (40, 30√3)
- D = C + 50·(cos240, sin240) = (40, 30√3) + (-25, -25√3) = (15, 5√3)
- E = D + 40·(cos0, sin0) = (15, 5√3) + (40, 0) = (55, 5√3)
- F = E + 30·(cos120, sin120) = (55, 5√3) + (-15, 15√3) = (40, 20√3)
- G = F + 20·(cos240, sin240) = (40, 20√3) + (-10, -10√3) = (30, 10√3)
- H = G + 10·(cos0, sin0) = (30, 10√3) + (10, 0) = (40, 10√3)
Итоговая точка: (40, 10√3) примерно (40, 17.32).
5) Вывод
- Фигура: открытая ломаная из 7 отрезков длин 70, 60, 50, 40, 30, 20, 10.
- Направления — три направления, соответствующие сторонам равностороннего треугольника, чередуются каждые 120°.
- Фигура не замыкается; итоговая точка находится в (40, 10√3) относительно начала.
Если хочешь, могу нарисовать упрощённую схему вершин или показать, как получить эти же координаты в коде.