Глава 12 · Множество увлекательных мини-проектов!

Проект: студия многоугольников

Одна и та же формула и один и тот же цикл рисуют треугольник, квадрат, пятиугольник, шестиугольник или восьмиугольник — в зависимости от одного числа.

Используем
Turtleinput()/int()forформула
Уровень
★★★ интеграционный
Результат
геометрическая фигура

Что создаём

Программу, которая рисует ЛЮБОЙ правильный многоугольник — не переписывая код, а меняя одно число.

Формула

Правильный многоугольник с storony сторонами всегда поворачивает на один и тот же угол между сторонами:

formula_ugla.py
ugol = 360 / storony
storonyugol
3120°
490°
572°
660°
845°

Один алгоритм — пять результатов

studiya_mnogougolnikov.py
import turtle

screen = turtle.Screen()
screen.setup(width=300, height=300)
artist = turtle.Turtle()
artist.speed(0)
artist.pencolor("#5B24F9")
artist.pensize(3)

storony = 5
dlina = 75
ugol = 360 / storony

for _ in range(storony):
    artist.forward(dlina)
    artist.right(ugol)

screen.exitonclick()
Результат выполнения
Правильный пятиугольник, нарисованный Turtle
storony = 5 → правильный пятиугольник
studiya_mnogougolnikov.py
storony = int(input("Сколько сторон? "))
dlina = 300 / storony
ugol = 360 / storony

for _ in range(storony):
    artist.forward(dlina)
    artist.right(ugol)
Данные меняются — алгоритм нет
Та же идея, что и в проекте «Викторина» (§12.9): цикл for _ in range(storony) и формула ugol = 360 / storony не меняются — меняется только введённое число.
storony = 3
storony = 3
storony = 4
storony = 4
storony = 5
storony = 5
storony = 6
storony = 6
storony = 8
storony = 8
Один и тот же код, разное значение storony — реально сгенерированные результаты

Debug Lab

Что произойдёт, если ввести storony = 1 или storony = 2?

Формула работает только для storony >= 3
Многоугольника с одной или двумя сторонами не существует геометрически — код не упадёт с ошибкой (360 / 1 = 360), но нарисует не то, что ожидалось. Полноценная защита от такого ввода потребует проверки if storony < 3 перед рисованием.
Практика: вычисляем угол поворота для многоугольника
Интерактивный ноутбук прямо в браузере — Python 3.14 через Pyodide, без установки
Открыть практику →
Практика: рисуем многоугольник по введённому числу сторон
Модуль turtle открывает нативное окно Python — выполните локально в VS Code, PyCharm или Jupyter
Практика выполняется локально
Открыть практику →