Глава 6 · Рисуем классные вещи с помощью Turtle
Случайное движение
Маленький шаг и случайный поворот, повторённые много раз, — и получается извилистая, неповторяющаяся траектория.
Комбинируя маленький шаг вперёд со случайным поворотом на каждой итерации, можно получить неповторяющуюся, органично выглядящую траекторию — приём, который называется «случайным блужданием» (random walk).
Идея — сначала без кода
Представьте: сделать маленький шаг, слегка повернуть в случайную сторону, снова шаг, снова случайный поворот — и так много раз подряд. Никакого плана, только повторение одного и того же маленького решения.
sluchaynoe_dvizhenie.py
import turtle
import random
random.seed(3)
screen = turtle.Screen()
screen.setup(width=420, height=420)
artist = turtle.Turtle()
artist.pensize(2)
artist.pencolor("#5B24F9")
artist.speed(0)
for _ in range(40):
artist.forward(15)
artist.right(random.randint(-60, 60))
screen.exitonclick()
Результат выполнения
Забегаем вперёд
Код ниже использует цикл
for — мы разберём его подробно позже. Пока не нужно понимать синтаксис цикла целиком: важна сама идея — маленький шаг и случайный поворот, повторённые много раз.sluchaynoe_dvizhenie_kod.py
import turtle
import random
random.seed(3) # фиксируем seed для воспроизводимой картинки
screen = turtle.Screen()
artist = turtle.Turtle()
artist.pensize(2)
artist.pencolor("#5B24F9")
artist.speed(0)
for _ in range(40):
artist.forward(15)
artist.right(random.randint(-60, 60))
Попробуйте изменить
Уберите
random.seed(3) — траектория станет новой при каждом запуске. Измените диапазон randint(-60, 60) на более узкий, например (-15, 15) — путь станет более прямым и предсказуемым.Практика: случайное движение
Модуль turtle открывает нативное окно Python — выполните локально в VS Code, PyCharm или Jupyter