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

input

Как начать программировать, используя модуль turtle языка Python. Начало координат находится в центре холста. Черепаху можно перемещать с помощью команд teleport (не рисует линию) и goto (рисует). Команда stamp оставляет отпечаток черепахи, write выводит текст.

Вывод текста. Метод write и его параметры

input

С помощью команды write черепаха выводит текст на холст. В метод write можно передать параметр font, указав шрифт, размер и начертание. Параметр align отвечает за выравнивание текста. Черепашка при выводе может оставаться на месте или сместиться к концу фразы.

Методы forward и backward, left и right, setheading

input

С помощью команд forward и backward черепаха двигается вперед и назад на переданную в скобках дистанцию, left и right отвечают за поворот на заданный угол. Метод setheading устанавливает абсолютное направление. С помощью heading() можно узнать, как сейчас повернута черепаха.

Управление пером. Методы penup, pendown, width

input

В turtle с помощью методов penup и pendown поднимают и опускают перо. Когда перо поднято, черепашка не рисует линии при выполнении forward, goto и др. Команда width (pensize) изменяет толщину пера. С помощь isdown можно проверить, опущено ли перо.

Метод pencolor ‒ установка цвета пера. Кодирование цвета

input

В turtle можно менять цвет пера, которым черепаха рисует линии. Для этого используется команда pencolor. В скобках передается название цвета или его кодировка в RGB или HEX. Например: pencolor('blue'), pencolor(100, 155, 40), pencolor('#c8dd4f').

Заливка фигур. Методы fillcolor, begin_fill и end_fill

input

В turtle, чтобы залить фигуру, надо обрамить ее код командами begin_fill и end_fill. Цвет заливки меняет метод fillcolor. Ему передается название цвета или его код в виде RGB или HEX. Заливать можно не только многоугольники, но и ломаные линии.

Методы circle и dot. Круги, дуги, многоугольники и точки

input

Метод circle рисует на холсте окружность заданного радиуса. Если передать количество шагов, получится правильный многоугольник. Параметр extent позволяет нарисовать часть окружности (дугу). В модуле turtle есть метод dot, рисующий точки. Можно задать размер точки и ее цвет.

Ввод данных. Методы textinput и numinput

input

В модуле turtle для ввода данных используются методы textinput и numinput. При этом появляется всплывающее диалоговое окно, в текстовом поле которого надо ввести строку или число. Введенное с клавиатуры значение передается в программу. Если отказаться от ввода, возвращается None.

Переменные в черепашьей графике

input

В программировании переменные используются, чтобы хранить данные. В черепашьей графике переменные также полезны. С их помощью можно сохранять ввод пользователя, значения для рисования фигур. Переменные упрощают написание кода.

Перезапуск программы ‒ методы reset и onkey

input

Чтобы перезапускать черепашью графику, не закрывая окно холста, можно поместить код в функцию и связать ее с клавишей с помощью метода onkey. В функции первой инструкцией должен быть метод reset. Для слежения за событиями клавиатуры используется метод listen.

Условный оператор. Ветвление

input

Условный оператор обеспечивает ветвление в программе, когда выполняется тот или иной блок кода. Используя if-elif-else и модуль turtle можно рисовать на холсте разные фигуры, в зависимости от того, что вводит пользователь и других условий.

Случайные числа в черепашьей графике

input

Случайное целое число можно сгенерировать функцией randint из модуля random и использовать его для перехода в случайную точку холста или определить параметры фигуры, которую нарисует черепаха. Примеры: как создать случайный цвет, выбрать ветку выполнения кода случайным образом.

Циклы в черепашьей графике

input

Использование цикла for с модулем turtle позволяет рисовать различные симметричные фигуры с помощью нескольких строк кода. Примеры квадрата и звезды. Программа "Угадай число" на Python в черепашьей графике.

Кортежи в черепашьей графике

input

При работе с модулем turtle часто используются кортежи языка Python. В них хранят наборы данных, которые черепаха может использовать для рисования на холсте. Например, это могут быть цвета, координаты и др. В самом turtle есть методы, которые возвращают кортежи.

Класс Turtle. Создание нескольких черепах

input

В модуле turtle языка Python можно создавать множество черепах-исполнителей от класса Turtle: a = Turtle(), b = Turtle() и т. д. Чтобы каждой давать свои команды, перед методом указывается имя переменной черепахи: a.dot(), b.write('Hello') и т. п.

Одновременное рисование черепахами. Метод ontimer

input

В turtle нет возможности создать многопоточность. Но можно имитировать одновременное выполнение черепахами кода с помощью помещения их команд в один цикл или с помощью метода ontimer, который вызывает функцию с задержкой. В теле этой функции снова вызывается ontimer с такими же аргументами.

Настройка окна и холста в turtle. Методы Screen

input

Метод title меняет заголовок окна, setup устанавливает его размеры и положение, bgcolor - цвет холста, bgpic - установка изображения в качестве фона, delay - задержка, clearscreen - очистить экран.

Методы onclick и onscreenclick. События клика

input

Чтобы обрабатывать клики по экрану в turtle используется метод onscreenclick, по черепахе - onclick. Обоим передается функция, которая будет выполняться при клике. Она должна иметь два параметра, так как неявно также передаются координаты клика. Примеры с рисованием двумя черепахами.

Turtle. Программирование на Python для школьников




Все разделы сайта