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

Отладка Turtle

Графика добавляет несколько новых способов ошибиться — разберём их по схеме «симптом → причина → исправление».

Графика добавляет несколько новых, специфичных для Turtle способов что-то сделать не так — разберём самые частые из них по схеме «симптом → причина → исправление».

СимптомПричинаИсправление
Окно открывается и сразу же закрываетсяПрограмма закончилась, и Python закрыл окно вместе с нейДобавьте screen.exitonclick() (ждёт клика) или turtle.done() в самом конце программы
Черепашка «смотрит не туда», хотя код кажется вернымПерепутаны left()/right(), или забыт один из поворотов в последовательностиПеречитайте программу построчно и для каждой команды спросите: «это движение или поворот?»
Часть рисунка не появляется на экранеЗабыт pendown() после penup() — черепашка честно двигается, просто ничего не рисуетПроверьте, что перед каждым «настоящим» движением перо снова опущено
Фигура нарисовалась, но заливки нетЗабыт end_fill(), либо контур не замкнулся в точности там, где началсяУбедитесь, что путь между begin_fill() и end_fill() возвращается в стартовую точку
Часть рисунка «пропадает» за краем окнаКоординаты вышли за пределы видимой области — окно не бесконечноеПроверьте screen.setup() и не выходите за половину ширины/высоты окна от центра
TclError или окно вовсе не открывается на сервере/Linux без монитораTurtle использует Tk — нативный GUI, которому нужен настоящий (или виртуальный) дисплейЗапускайте Turtle на компьютере с обычным рабочим столом; для автоматизации без монитора нужен виртуальный дисплей вроде Xvfb — это уже не начальный уровень
Практика Turtle не открывается прямо в браузере на этом сайтеБраузерная среда Python (Pyodide) не умеет открывать нативные Tk-окна — это техническое ограничение, а не ошибка в вашем кодеТакие практики отмечены «требуется локальный Python» — скачайте .ipynb и запустите его в VS Code, PyCharm или Jupyter на своём компьютере
Почему Turtle нельзя запустить прямо в браузере на этом сайте
Обычный Python (CPython) рисует Turtle через Tk — библиотеку нативных окон операционной системы. Браузерная версия Python, на которой работают интерактивные практики этого курса, не имеет доступа к нативным окнам вообще — поэтому практики Turtle помечены как локальные с самого начала главы, а не потому что что-то не работает.

Предскажите, прежде чем запускать

Как и с числами в главе 5, лучшая привычка — предсказать курс и примерные координаты черепашки до запуска, а не после. Если предсказание разошлось с реальностью — вы либо нашли баг, либо неточно понимаете команды. Оба случая стоит разобрать.

★ Базовая практика
Предскажите курс

Черепашка стоит на (0, 0), курс 0°. Выполнены команды: left(90), right(45). Каков итоговый курс? Проверьте себя, выполнив это в реальном окне Turtle.

★★ Самостоятельная задача
Найдите ошибку

В программе, рисующей квадрат, после третьего поворота получается пятиугольник, а не квадрат. Сколько раз в коде повторяется пара forward()/right(90)? Сколько должно быть?

Практика: отладка Turtle
Модуль turtle открывает нативное окно Python — выполните локально в VS Code, PyCharm или Jupyter
Открыть практику →