Глава 6 · Рисуем классные вещи с помощью Turtle

Переходим к случайным точкам на экране

goto() перемещает черепашку в любую точку экрана напрямую — вместе со случайными числами получается интересный эффект.

До сих пор черепашка двигалась только относительно своей текущей позиции или по заранее известным координатам. Но можно сразу «телепортировать» её в конкретную точку экрана командой goto(x, y) — а вместе со случайными числами из главы 5 это открывает интересные возможности.

Случайные точки на экране

sluchaynye_tochki.py
import turtle
import random

random.seed(7)
screen = turtle.Screen()
screen.setup(width=420, height=340)
artist = turtle.Turtle()
artist.hideturtle()
artist.penup()

for _ in range(10):
    x = random.randint(-200, 200)
    y = random.randint(-150, 150)
    artist.goto(x, y)
    artist.dot(14, "#5B24F9")

screen.exitonclick()
Результат выполнения
Десять фиолетовых точек, разбросанных по окну в случайных, но воспроизводимых местах
10 случайных точек — при random.seed(7) каждый запуск даёт одну и ту же картину
sluchaynye_tochki_kod.py
import turtle
import random

random.seed(7)   # фиксируем seed — картинка будет одинаковой при каждом запуске
screen = turtle.Screen()
artist = turtle.Turtle()
artist.penup()

for _ in range(10):
    x = random.randint(-200, 200)
    y = random.randint(-150, 150)
    artist.goto(x, y)
    artist.dot(14, "#5B24F9")
penup() перед goto()
Без penup() черепашка будет рисовать линию при каждом перемещении goto() — что обычно не то, что нужно для «прыжка» в новую точку перед тем, как поставить точку.
Зачем здесь random.seed(7)
Мы разбирали random.seed() в главе 5 — здесь она нужна именно затем, чтобы КАЖДЫЙ запуск этого кода давал одну и ту же картину, а не новую каждый раз. Уберите строку с seed — и точки станут по-настоящему случайными при каждом запуске.
Практика: goto(), penup()/pendown() и random
Модуль turtle открывает нативное окно Python — выполните локально в VS Code, PyCharm или Jupyter
Практика выполняется локально
Открыть практику →