Turtle. Программирование на Python для школьников
Пояснения к курсу и методические рекомендации
Модуль turtle стандартной библиотеки языка Python позволяет изучать программирование в более простой и наглядной форме. Черепашья графика базируется на учебном языке Logo, элементы которого реализует модуль turtle. При этом обработку данных, логику выполнения и структуру программы обеспечивает сам язык Питон.
В первых уроках изучаются базовые команды turtle. В курсе постепенно вводятся понятия из основ программирования, происходит переход к управляющим конструкциям на Python, изучаются ключевые типы данных, дается представление об объектах, событиях и др. Однако задачи дать систематизированное знание теории программирования не ставится. С этой точки зрения курс является ознакомительным, вводным. Ряд понятий дается "как есть", на заучивание, без объяснения заложенных в них концепций.
Основная идея курса "Turtle. Программирование на Python для школьников" ‒ постепенно идти к интересным, завершенным и более сложным программам.
Рекомендуемый возраст обучающихся ‒ старше 10-12 лет. Это связано с тем, что хотя начало курса простое, программирование само по себе предполагает способность к абстрактному мышлению и логическому, а не только наглядно-образному. Даже используя turtle, не все можно наглядно проиллюстрировать с помощью графического вывода результатов исполнения программ. Кроме того, обучающиеся должны знать английский алфавит как минимум, быть знакомыми с отрицательными и дробными числами, углами и их измерением в градусах, уметь без проблем набирать текст.
Курс предполагает использование версии Питона от 3.12, так как до этого в модуле turtle не было метода teleport
. В более младших версиях интерпретатора вместо этой команды вам придется использовать последовательность из трех: penup
, goto
, pendown
.
Модуль turtle базируется на пакете tkinter, который в одних операционных системах инсталлируется вместе с интерпретатором Python, в других ‒ требует отдельной установки. Так в Ubuntu его можно доустановить командой sudo apt install python3-tk
.
В качестве среды разработки мы рекомендуем использовать PyCharm Community, так как здесь лучше реализовано автодополнение кода, что упрощает его ввод и минимизирует возможность ошибок при наборе. При создании проекта вместо виртуальной среды лучше выбрать системный интерпретатор, так как никакие дополнительные пакеты устанавливаться не будут.
Каждый урок начинается с небольшого англо-русского словаря, в котором дается перевод используемых в уроке команд. Новые, которые не встречались в предыдущих уроках, выделяются полужирным начертанием. Внимание к значению слов поможет лучше понимать код обучающимся, слабо знакомым с английским языком.
В turtle у многих слов-команд есть сокращенные аналоги. Это удобно, если обучаемые слабо владеют навыком ввода текста. Однако снижается понимание и очевидность программного кода. Поэтому лучше использовать среду разработки с автодополнением, чем краткие версии команд.
В курсе за редким исключением примеры кода приводятся без первой (from turtle import *
) и последней (mainloop()
) строк кода, которые одинаковы во всех листингах.
С целью упрощения изложения понятия "команда", "функция", "метод" используются как синонимы. Это касается и терминов "библиотека", "модуль", "пакет".
Версия курса: Июль, 2025 г.
Содержание курса
Система координат. Команда teleport
Как начать программировать, используя модуль turtle языка Python. Начало координат находится в центре холста. Черепаху можно перемещать с помощью команд teleport (не рисует линию) и goto (рисует). Команда stamp оставляет отпечаток черепахи, write выводит текст.
Вывод текста. Метод write и его параметры
С помощью команды write черепаха выводит текст на холст. В метод write можно передать параметр font, указав шрифт, размер и начертание. Параметр align отвечает за выравнивание текста. Черепашка при выводе может оставаться на месте или сместиться к концу фразы.
Методы forward и backward, left и right, setheading
С помощью команд forward и backward черепаха двигается вперед и назад на переданную в скобках дистанцию, left и right отвечают за поворот на заданный угол. Метод setheading устанавливает абсолютное направление. С помощью heading() можно узнать, как сейчас повернута черепаха.
Управление пером. Методы penup, pendown, width
В turtle с помощью методов penup и pendown поднимают и опускают перо. Когда перо поднято, черепашка не рисует линии при выполнении forward, goto и др. Команда width (pensize) изменяет толщину пера. С помощь isdown можно проверить, опущено ли перо.
Метод pencolor ‒ установка цвета пера. Кодирование цвета
В turtle можно менять цвет пера, которым черепаха рисует линии. Для этого используется команда pencolor. В скобках передается название цвета или его кодировка в RGB или HEX. Например: pencolor('blue'), pencolor(100, 155, 40), pencolor('#c8dd4f').
Заливка фигур. Методы fillcolor, begin_fill и end_fill
В turtle, чтобы залить фигуру, надо обрамить ее код командами begin_fill и end_fill. Цвет заливки меняет метод fillcolor. Ему передается название цвета или его код в виде RGB или HEX. Заливать можно не только многоугольники, но и ломаные линии.
Методы circle и dot. Круги, дуги, многоугольники и точки
Метод circle рисует на холсте окружность заданного радиуса. Если передать количество шагов, получится правильный многоугольник. Параметр extent позволяет нарисовать часть окружности (дугу). В модуле turtle есть метод dot, рисующий точки. Можно задать размер точки и ее цвет.
Ввод данных. Методы textinput и numinput
В модуле turtle для ввода данных используются методы textinput и numinput. При этом появляется всплывающее диалоговое окно, в текстовом поле которого надо ввести строку или число. Введенное с клавиатуры значение передается в программу. Если отказаться от ввода, возвращается None.
Переменные в черепашьей графике
В программировании переменные используются, чтобы хранить данные. В черепашьей графике переменные также полезны. С их помощью можно сохранять ввод пользователя, значения для рисования фигур. Переменные упрощают написание кода.
Перезапуск программы ‒ методы reset и onkey
Чтобы перезапускать черепашью графику, не закрывая окно холста, можно поместить код в функцию и связать ее с клавишей с помощью метода onkey. В функции первой инструкцией должен быть метод reset. Для слежения за событиями клавиатуры используется метод listen.
Условный оператор. Ветвление
Условный оператор обеспечивает ветвление в программе, когда выполняется тот или иной блок кода. Используя if-elif-else и модуль turtle можно рисовать на холсте разные фигуры, в зависимости от того, что вводит пользователь и других условий.
Случайные числа в черепашьей графике
Случайное целое число можно сгенерировать функцией randint из модуля random и использовать его для перехода в случайную точку холста или определить параметры фигуры, которую нарисует черепаха. Примеры: как создать случайный цвет, выбрать ветку выполнения кода случайным образом.
Циклы в черепашьей графике
Использование цикла for с модулем turtle позволяет рисовать различные симметричные фигуры с помощью нескольких строк кода. Примеры квадрата и звезды. Программа "Угадай число" на Python в черепашьей графике.
Кортежи в черепашьей графике
При работе с модулем turtle часто используются кортежи языка Python. В них хранят наборы данных, которые черепаха может использовать для рисования на холсте. Например, это могут быть цвета, координаты и др. В самом turtle есть методы, которые возвращают кортежи.
Класс Turtle. Создание нескольких черепах
В модуле turtle языка Python можно создавать множество черепах-исполнителей от класса Turtle: a = Turtle(), b = Turtle() и т. д. Чтобы каждой давать свои команды, перед методом указывается имя переменной черепахи: a.dot(), b.write('Hello') и т. п.
Одновременное рисование черепахами. Метод ontimer
В turtle нет возможности создать многопоточность. Но можно имитировать одновременное выполнение черепахами кода с помощью помещения их команд в один цикл или с помощью метода ontimer, который вызывает функцию с задержкой. В теле этой функции снова вызывается ontimer с такими же аргументами.
Настройка окна и холста в turtle. Методы Screen
Метод title меняет заголовок окна, setup устанавливает его размеры и положение, bgcolor - цвет холста, bgpic - установка изображения в качестве фона, delay - задержка, clearscreen - очистить экран.
Методы onclick и onscreenclick. События клика
Чтобы обрабатывать клики по экрану в turtle используется метод onscreenclick, по черепахе - onclick. Обоим передается функция, которая будет выполняться при клике. Она должна иметь два параметра, так как неявно также передаются координаты клика. Примеры с рисованием двумя черепахами.