Глава 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()
Результат выполнения
Извилистая фиолетовая линия, блуждающая по окну без определённого направления
«Случайное блуждание»: 40 маленьких шагов, каждый раз со случайным поворотом от −60° до 60°
Забегаем вперёд
Код ниже использует цикл 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
Открыть практику →