Черепашка которая рисует
Перейти к содержимому

Черепашка которая рисует

«Черепашья графика» при помощи turtle, рисование при помощи алгоритма

Черепашья графика, turtle – принцип организации библиотеки графического вывода, построенный на метафоре Черепахи, воображаемого роботоподобного устройства, которое перемещается по экрану или бумаге и поворачивается в заданных направлениях, при этом оставляя (или, по выбору, не оставляя) за собой нарисованный след заданного цвета и ширины.

Проще: черепашка ползает по экрану и рисует. Мы управляем черепашкой на плоскости при помощи программы.

Начало работы. Движения

В первой строке необходимо добавить:

Мы командуем черепашкой простыми словами на английском языке. left, right – поворот налево и направо, forward и backward – движение вперед и назад. В программе каждое действие – вызов функции из модуля turtle. Простая программа:

Что произошло:

  • Поворот направо на 90 градусов
  • Движение вперед на 100 шагов (пикселей)
  • Поворот налево на 90 градусов
  • Движение назад на 100 шагов

Не похоже на черепашку, это ползающая стрелка! Исправим это:

Отлично! Теперь это черепашка, пусть и монохромная. Дополнительно, функция exitonclick() позволяет закрыть окно и завершить выполнение программы кликом мышкой по окну.
А еще можно использовать сокращенные названия функций: fd(100) вместо forward(100), rt вместо right, lt вместо left, bk вместо backward.

Геометрические фигуры

Рисуем простые геометрические фигуры:

  • Прямая: просто движение вперед
  • Квадрат: вперед, поворот на 90 градусов и так 4 раза. Повторение команд – значит, можно выполнить их в цикле for!
  • Пятиконечная звезда: вперед, поворот на 144 градусов и так 5 раз.

Если мы хотим выполнить инструкции n раз, мы пишем их в цикле

Далее идут инструкции с отступом в 4 пробела. Код с отступами – тело цикла. Когда цикл завершается, отступы больше не ставятся.

Рисуем квадрат:

Скучно рисовать одинокие фигуры. Поэтому мы приготовились рисовать сразу несколько и теперь создаем отдельный экземпляр класса Turtle для каждой фигуры. Так мы можем менять цвет линии и другие параметры отдельно для каждой фигуры. Потом, когда мы захотим дорисовать или изменить параметры фигуры, у нее будут сохранены старые параметры. Их не надо будет устанавливать заново, как это было бы без отдельных экземпляров класса для каждой фигуры.

Звезда рисуется также:

Самостоятельно:

  1. Нарисуйте пятиконечную звезду (угол поворота 144 градуса).
  2. Квадрат и звезду в одной программе, на одном графическом поле, но с разными экземплярами класса Turtle.
  3. Восьмиконечную звезду (угол поворота 135 градусов).
  4. Фигуру из анимации в начале страницы.

Решения

Изменяем параметры во время движения

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

Мы также добавили:

  • color('red', 'green') определяет цвет линии и цвет заполнения. Черепашка теперь зеленая!
  • begin_fill() и end_fill() обозначают начало и конец заполнения

Больше программирования!

Напишем обобщенную программу рисования выпуклых равносторонних многоугольников. num_sides – количество граней, side_length – длина грани, angle – угол поворота.

Что будет, если на каждом шаге увеличивать длину пути? В первый день 10 шагов, во второй – 20, далее 30, 40 и так до 200:

Координаты на плоскости

Положение на плоскости определяется двумя числами, x и y:

Черепашку в программе можно перемещать функцией goto(x, y). x и y – числа, или переменные. goto(0, 0) переместит черепашку в начало координат.

Вместо звезды-спирали мы получили 5 линий, расходящихся из точки начала координат.

Круг и точка

Не хватает плавных изгибов? На помощь приходят функции dot() и circle():

  • изменили заголовок окна функцией title(),
  • установили толщину линии – pensize(),
  • установили цвет линии – pencolor(),
  • Подняли черепашку перед перемещением – penup() и опустили после – pendown().

Самостоятельно:

  • Используя код из примеров и функцию goto(), нарисовать галерею из 5 или более многоугольников на одном поле. Использовать экземпляр класса turtle.Turtle().
  • Нарисованные многоугольники закрасить разными цветами. Пробуйте стандартные цвета или их шестнадцатеричное представление. Не забудьте кавычки вокруг названия или кода цвета!

Решения

  • У нас есть два варианта нарисовать несколько фигур: используя отдельные классы и не используя их. Рассмотрим оба варианта.
  • Без классов:
  • Получается довольно многословно. С классами (начало):
  • Так еще многословнее. Зачем нам понадобилось писать для каждой фигуры отдельный класс? Для того, чтобы подготовиться к написанию программы с помощью функций, которые помогут обобщить и сократить наш код.
    Создадим функции, используя написанную ранее обобщенную программу рисования выпуклых равносторонних многоугольников. Функция prepare() делает все приготовления для рисования: переходит в нужную точку холста, устанавливает нужный цвет и дает команду заполнять цветом. У функции три входных параметра: координаты по осям X, Y и кодовое слово цвета.
    Функция draw_polygon() – наш старый знакомый, так мы рисуем выпуклый многоугольник. У функции два входных параметра: количество граней и длина грани.
  • Получилось существенно сократить программу, и она стала более читаемой. Но повторяющиеся действия остались. Значит, есть еще работа для программиста! Будем рисовать все 5 фигур в цикле. Для этого все параметры соберем в списки, а внутри цикла будем брать значение параметра по индексу (номеру минус 1) в списке. Теперь всего 22 строки кода:
  • Получились фигуры разного размера. Самостоятельно: Задать переменной внутри цикла длину грани так, чтобы фигуры казались (или являлись) равновеликими.

Делаем фигуры равновеликими

Площадь квадрата со стороной 100 пикселей – 10 000 квадратных пикселей. Вычислим площади всех фигур со стороной 100 от треугольника до 7-угольника. Формула площади правильного многоугольника содержит тангенс, поэтому «поверим на слово» результату, зависимости количество углов (вершин) – площадь:

  • 3 – 4330.13
  • 4 – 10000
  • 5 – 17204.77
  • 6 – 25980.76
  • 7 – 36339.12

Изобразим ее на графике:

Получается, что площадь 7-угольника в 36339.12 / 4330.13 = 8.4 раза больше, чем площадь треугольника! Это очень заметно на рисунке:

Чтобы фигуры стали равновеликими, надо сделать длину грани вместо константы 100 – переменной, которая зависит от количества углов.

Как: приведем все площади к 10000. Для треугольника площадь увеличится на 10000 / 4330.13 = 2.31 раза. Для 7-угольника – уменьшится в 36339.12 / 10000 = 3.63 раз. Значит, стороны должны измениться в 1.52 и 0.52 раз соответственно, то есть, до 152 и 32.7 пикселей (снова «верим на слово»). Эту зависимость можно нащупать «на глаз», в чем и заключалось задание.

Наша программа без труда масштабируется до большего количества фигур:

Программа, в которой вычисляются точные значения:

Как построить график (если кто захочет):

  1. Поставить Matplotlib, набрав в командной строке
  2. Запустить программу

Другие полезные функции:

  • turtle.setup(800, 400) устанавливает размеры окна в 800 на 400 пикселей
  • turtle.setworldcoordinates(0, 0, 800, 400) устанавливает начало координат в точку 800, 400
  • turtle.tracer(0, 0) отключает анимацию
  • setpos(x, y) устанавливает черепашку (курсор) в позицию с координатами (x, y)
  • seth(x) устанавливает направление в градусах. 0 – горизонтально направо (на восток), 90 – вверх (на север) и так далее
  • hideturtle() скрывает черепашку (или стрелку, курсор)
  • speed(x) изменяет скорость рисования. Например, speed(11) – почти моментальная отрисовка простых фигур
  • clear() очищает холст от нарисованного
  • reset() очищает холст и возвращает курсор в начало координат

Пример двух рисунков – экземпляров класса Turtle() – на одном полотне

Что произошло:

  1. Задали название окна,
  2. создали экземпляр класса Turtle под именем circ. Все изменения сохраняются для класса circ;
  3. цвет линии и заполняющий цвет,
  4. форму и размер курсора,
  5. установили 10-ю скорость
  6. продвинулись на 150 пикселей вперед от старта,
  7. начали заполнять фигуру цветом,
  8. нарисовали круг
  9. закончили заполнять цветом,
  1. Объявили переменную n и присвоили ей значение 10,
  2. создали новый экземпляр класса Turtle под именем t. У него нет настроек экземпляра класса circ!
  3. В цикле while: пока переменная n меньше или равна 50, рисовать круги радиусом n;
  4. после нарисованного круга увеличить переменную n на 10.
  5. Алгоритм рисования кругов прекратит рисовать круги после 4-го круга.

Итог: функции и классы на примере turtle

  • Функция – фрагмент программного кода, к которому можно обратиться по имени. Иногда функции бывают безымянными.
  • У функции есть входные и выходные параметры. Функция fd(150) – фрагмент программного кода, который двигает курсор вперед на заданное во входном значении количество пикселей (150). Выходного значения у функции fd() нет.
  • Когда функцию надо выполнить, после ее названия пишут круглые скобки. fd – просто название, ничего не происходит. fd(100) – функция выполняется с входным параметром 100. Обычно названия функций пишут с маленькой буквы.
  • Класс – программный шаблон для создания объектов, заготовка для чего-то, имеющего собственное состояние. Мы можем нарисовать прямоугольник и назвать его кнопкой, но это еще не кнопка, потому что у нее нет собственных свойств и поведения. Прямоугольник надо научить быть самостоятельной, отличной от других, кнопкой.
  • Turtle – класс, его имя пишется с большой буквы. через оператор присваивания = мы создаем экземпляр класса: circ = turtle.Turtle(). Turtle – класс (шаблон, трафарет, заготовка), circ – его экземпляр (рисунок, набор уникальных цветов, штрихов и свойств). На картинке выше видно, что экземпляр класса circ богат установленными свойствами, а экземпляр t обладает свойствами по умолчанию: тонкая черная линия, треугольный курсор.
  • Программирование с использованием классов и их экземпляров будем называть объектно-ориентированным программированием, ООП. объектно-ориентированный подход необходим при построении графического интерфейса пользователя, GUI.

Графический интерфейс средствами библиотеки turtle.

Нарисуем прямоугольник и сделаем его кнопкой: при нажатии кнопка исчезает и появляется круг:

Что произошло:

  1. Задали название и размеры (500 на 500 пикселей) окна,
  2. Создали экземпляр класса btn1 и спрятали курсор (черепашку),
  3. Нарисовали прямоугольник 80 на 30;
  4. подняли перо и перешли на координаты (11, 7);
  5. написали Push me шрифтом Arial 12-го размера, нормальное начертание. Попробуйте вместо normal ключевые слова bold (полужирный), italic (наклонный);

Задаем поведение кнопки:

  • Функции turtle.listen() и turtle.onscreenclick() будут слушать (listen) и реагировать на клик по экрану (onscreenclick). Реакцией будет запуск функции btnclick(x, y)
  • Напишем btnclick(x, y). У нее 2 входных параметра – координаты точки, куда мы кликнули. Наша задача: если клик был по кнопке, спрятать ее и показать оранжевый круг
  • Мы помним: кнопка 80 на 30 пикселей от точки (0, 0). Значит, мы попали по кнопке, если x между 0 и 80 и y между 0 и 30. Условие попадания по кнопке: if 0<x<80 and 0<y<30:
  • 1) Убираем кнопку: btn1.clear(), 2) создаем экземпляр класса ball = turtle.Turtle(), 3) устанавливаем ему нужные свойства.

Самостоятельно:

  • Нарисовать вторую кнопку (не изменяя первую!), сделать обработчик нажатия: при клике программа завершается, выполняется функция exit()
  • При нажатии на первую кнопку появляется случайная фигура: при рисовании фигуры использовать random:

Уточнения

  • Чтобы окно не закрывалось сразу, мы использовали turtle.exitonclick(). Теперь, когда клик обрабатывается функцией, пишем в конце turtle.done().
  • функция exit() самостоятельная, это не команда turtle. Писать turtle.exit() неверно.
  • Случайная фигура – это любая фигура, при рисовании которой используются случайные числа. Например: Но есть и второй вариант: случайное число будет индексом списка и укажет на одну из заранее подготовленных неслучайных фигур: Таким приемом можно случайно выбирать цвета фигур. Функция choice делает тоже самое изящнее:

Управляем рисунком с клавиатуры

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

  • turtle.onkeypress(fun, key): вызывается функция fun при нажатии клавиши key
  • turtle.onkey(fun, key): вызывается функция fun при отпускании клавиши key

Клавиша задается строкой с ее названием. Например, 'space' – пробел, 'Up' (с заглавной буквы) – стрелка вверх. Клавиши букв задаются заглавными, только если мы хотим нажать именно заглавную (с Shift или Caps Lock).

По нажатию клавиши мы будем перемещать фигуру. Для этого понадобятся функции, которые сообщают и изменяют координаты:

  • xcor() и ycor() выдают координаты по x и y как дробные числа
  • setx(x) и sety(y) устанавливают координаты. x и y – числа

Создадим экземпляр класса Turtle и выведем его координаты:

Получили вывод "0.0 0.0". Теперь напишем функцию up(), которая будет запускаться при нажатии стрелки вверх и перемещать наш circ на 10 пикселей вверх:

Очень похоже на нажатие мышкой! Функцию up() можно сократить до одной строчки:

Будет работать, но функции в одну строчку писать не принято. Для таких случаев используют анонимные функции: у них может вовсе не быть имени. В Python в качестве анонимных функций используются лямбда-выражения, мы их уже использовали для сортировки. Так будет выглядеть лямбда-функция up:

Она используется у нас только в одном месте, внутри функкии turtle.onkeypress(). А почему бы не соединить их вместе? Так будет выглядеть наша программа в сокращенном виде:

Всего 8 строк, и функции действительно не понадобилось имени! Как видим, язык Python дает возможность писать разными стилями, и мы можем выбирать на свой вкус: писать развернуто и красиво (как писал Гавриил Романович Державин) или кратко (как Эрнест Хемингуэй).

Самостоятельно:

  • Добавить движение circ влево, вправо и вниз
  • Скорость движения (у нас пока 10 пикселей за раз) сделать переменной

Соединяем все вместе

У нас уже есть кнопка с текстом и обработчик клика мышкой. Соединим все в одну программу:

Есть стартовый экран, управляемый с клавиатуры персонаж. Добавим препятствие, и уже почти готова игра!

turtle — Черепашья графика¶

Черепашья графика является популярным способом введения в программирование для детей. Была частью оригинального языка программирования Logo, разработанного Уолли Фейрцейгом (Wally Feurzeig), Сеймуром Папертом (Seymour Papert) и Синтией Соломон (Cynthia Solomon) в 1967 году.

Представьте себе роботизированную черепаху, начинающуюся с (0, 0) в плоскости x-y. После import turtle дайте ей команду turtle.forward(15) и она переместится (на экране!) на 15 пикселей в направлении, к которому она обращена, рисуя линию по мере движения. Передайте ей команду turtle.right(25) , и она повернётся на месте на 25 градусов по часовой стрелке.

Черепаха может рисовать сложные формы с помощью программ, которые повторяют простые ходы.

../_images/turtle-star.png

Комбинируя эти и подобные команды, можно легко рисовать сложные формы и изображения.

Модуль turtle — это расширенная реализация одноименного модуля из стандартного дистрибутива Python до версии Python 2.5.

Он пытается сохранить достоинства старого модуля turtle и быть (почти) на 100% совместимым с ним. Это означает, в первую очередь, чтобы дать возможность обучающемуся программисту использовать все команды, классы и методы в интерактивном режиме при использовании модуля из IDLE, запущенного с переключателем -n .

Модуль turtle предоставляет примитивы черепашей графики, как объектно- ориентированными, так и процедурно-ориентированными способами. Поскольку он использует tkinter для базовой графики, ему необходима версия Python, установленная с поддержкой Tk.

Объектно-ориентированный интерфейс использует по существу два+два класса:

Класс TurtleScreen определяет графические окна как площадку для рисования черепах. Его конструктору требуется аргумент tkinter.Canvas или ScrolledCanvas . Его следует использовать, когда turtle применяется как часть какого-либо приложения.

Функция Screen() возвращает объект одиночку подкласса TurtleScreen . Функцию следует использовать, когда turtle используется как автономный инструмент для создания графики. Т. к. это объект одиночка, наследование от его класса невозможно.

Все методы TurtleScreen/Screen также существуют как функции, т. е. как часть интерфейса, ориентированного на процедуры.

RawTurtle (алиас: RawPen ) определяет объекты черепахи, которые рисуются на TurtleScreen . Его конструктору требуется в качестве аргумента Canvas, ScrolledCanvas или TurtleScreen, поэтому объекты RawTurtle знают, где рисовать.

Производным от RawTurtle является подкласс Turtle (псевдоним: Pen ), который основан на «экземпляре» Screen , создаваемый автоматически, если его ещё не существует.

Все методы RawTurtle/Turtle также существуют как функции, т. е. часть интерфейса, ориентированного на процедуры.

Процедурный интерфейс предоставляет функции, производные от методов классов Screen и Turtle . У них те же имена, что и соответствующие методы. Объект экрана создаётся автоматически при каждом вызове функции, производной от метода Screen. Объект черепахи (без имени) автоматически создаётся при каждом вызове любой функции, производной от метода черепахи.

Для использования нескольких черепах на экране необходимо использовать объектно- ориентированный интерфейс.

В следующей документации приведён список аргументов для функций. У методов, конечно, есть дополнительный первый аргумент self который здесь пропущен.

Обзор доступных методов Turtle и Screen¶

Методы Turtle¶

Методы TurtleScreen/Screen¶

Методы RawTurtle/Turtle и соответствующие функции¶

Большинство примеров в этом разделе относятся к сущности черепахи под названием turtle .

Движение черепахи¶

turtle. forward ( distance ) ¶ turtle. fd ( distance ) ¶

Параметры: distance – число (целое число или число с плавающей запятой)

Двигать черепаху вперёд на указанный distance, в сторону направляется черепахи.

turtle. back ( distance ) ¶ turtle. bk ( distance ) ¶ turtle. backward ( distance ) ¶

Параметры: distance – число

Переместить черепаху назад на distance, противоположную направлению, в котором движется черепаха. Не меняет направление черепахи.

turtle. right ( angle ) ¶ turtle. rt ( angle ) ¶

Параметры: angle – число (целое число или число с плавающей запятой)

Повернуть черепаху направо на angle единиц. (Единицы измерения по умолчанию являются градусами, но могут быть установлены с помощью функций degrees() и radians() ). Ориентация угла зависит от режима черепахи, см. mode() .

turtle. left ( angle ) ¶ turtle. lt ( angle ) ¶

Параметры: angle – число (целое число или число с плавающей запятой)

Повернуть черепаху налево на angle единиц. (Единицы измерения по умолчанию являются градусами, но могут установливаться с помощью функций degrees() и radians() ). Ориентация угла зависит от режима черепахи, см. mode() .

  • x – число или пара/вектор чисел
  • y – число или None

Если y равно None , x должна быть пара координат или Vec2D (например, как возвращенный pos() ).

Переместить черепаху в абсолютное положение. Если перо расположено вниз, провести линию. Не меняя ориентацию черепахи.

turtle. setx ( x ) ¶

Параметры: x – число (целое число или число с плавающей запятой)

Установить первую координату черепахи на x, а вторую оставить без изменений.

turtle. sety ( y ) ¶

Параметры: y – число (целое число или число с плавающей запятой)

Задать для второй координаты черепахи значение y, оставляя первую координату неизменной.

turtle. setheading ( to_angle ) ¶ turtle. seth ( to_angle ) ¶

Параметры: to_angle – число (целое число или число с плавающей запятой)

Установить ориентацию черепахи на to_angle. Вот некоторые общие направления в градусах:

 

стандартный режим logo режим
0 — восток 0 — север
90 — север 90 — восток
180 — запад 180 — юг
270 — юг 270 — запад

 

Переместить черепаху в исходную точку — координаты (0,0) и повернув её голову в её начальное положение (которая зависит от режима, см. mode() ).

  • radius – число
  • extent – число (или None )
  • steps – целое число (или None )

Нарисовать круг с заданным radius. Центр — это radius единиц слева от черепахи; угол extent определяет, какая часть окружности нарисована. Если extent не указан, нарисовать весь круг. Если extent не является полным кругом, одна конечная точка дуги является текущим положением пера. Провести дугу против часовой стрелки, если radius положительный, в противном случае — по часовой стрелке. Наконец, направление черепахи изменяется на extent.

Поскольку окружность аппроксимируется вписанным правильным многоугольником, steps определяет количество шагов для использования. Если он не указан, он будет рассчитан автоматически. Может использоваться для построения правильных многоугольников.

  • size – целое число >= 1 (если задано)
  • color – цветовая строка или цифровой цветовой кортеж

Нарисовать круглую точку диаметром size, используя color. Если size не указан, используется максимум pensize+4 и 2*pensize.

Отметить копию формы черепахи на холсте в текущем положении черепахи. Возвращает stamp_id для этого штампа, который можно использовать для удаления путём вызова clearstamp(stamp_id) .

turtle. clearstamp ( stampid ) ¶

Параметры: stampid – целое число, должно быть возвращено значением предыдущего вызова stamp()

Удалить штамп с заданным stampid.

turtle. clearstamps ( n=None ) ¶

Параметры: n – целое число (или None )

Удалить все или первый/последний n черепаших штампов. Если n None , удалить все штампы, если n > 0 удалить первые штампы n, а если n < 0 удалить последние n штампы.

Отменить (повторно) последнее действие (действия) черепахи. Количество доступных действий отмены определяется размером undobuffer.

turtle. speed ( speed=None ) ¶

Параметры: speed – целое число в диапазоне 0..10 или speedstring (см. ниже)

Задать скорость черепахи целым числом в диапазоне 0..10. Если аргумент не указан, вернуть текущую скорость.

Если введено число больше 10 или меньше 0.5, скорость устанавливается на 0. Строки скорости сопоставляются со значениями скорости следующим образом:

  • «fastest»: 0
  • «fast»: 10
  • «normal»: 6
  • «slow»: 3
  • «slowest»: 1

Скорости от 1 до 10 ускоряют анимацию рисования линий и поворота черепах.

Внимание: speed = 0 означает, что анимация не используется. forward/back заставляет черепаху прыгать и также влево/вправо заставляет черепаху мгновенно повернуться.

Спросить о состоянии черепахи¶

Возвращает текущее местоположение черепахи (x, y) (как вектор Vec2D ).

  • x – число или пара/вектор чисел или черепашья сущность
  • y – число, если x является числом, иначе None

Возвращает угол между линией от положения черепахи к положению, заданному (x, y), вектором или другой черепахой. Это зависит от начальной ориентации черепахи, которая зависит от режима — «standard»/«world» или «logo».

Возвращает координату x черепахи.

Возвращает координату y черепахи.

Возвращает текущий курс черепахи (значение зависит от режима черепахи, см. mode() ).

  • x – число или пара/вектор чисел или черепаший экземпляр
  • y – число, если x является числом, иначе None

Возвращает расстояние от черепахи до (x, y), заданного вектора или другой черепахи в шаговых единицах черепахи.

Параметры измерения¶

turtle. degrees ( fullcircle=360.0 ) ¶

Параметры: fullcircle – число

Установить единицы измерения угла, т. е. Задать число «градусов» для полного круга. Значение по умолчанию — 360 градусов.

Установить единицы измерения угла в радианы. Эквивалентно degrees(2*math.pi) .

Контроль за пером¶

Состояние рисунка¶

Поместить перо вниз — рисование при движении.

turtle. penup ( ) ¶ turtle. pu ( ) ¶ turtle. up ( ) ¶

Поместить перо вверх — никакого рисунка при движении.

turtle. pensize ( width=None ) ¶ turtle. width ( width=None ) ¶

Параметры: width – положительное число

 

Установить толщину линии на width или вернуть её. Если для resizemode установлено значение «auto», а turtleshape является polygon, этот многоугольник рисуется с одинаковой толщиной линии. Если аргумент не указан, возвращается текущий размер пера.

  • pen – словарь с некоторыми или всеми перечисленными ниже ключами
  • pendict – один или несколько ключевых аргументов с перечисленными ниже ключами

Вернуть или установить атрибуты пера в «словарь пера» со следующими парами ключ/значение:

  • «shown»: True/False
  • «pendown»: True/False
  • «pencolor»: цветная строка или цветовой кортеж
  • «fillcolor»: цветная строка или цветовой кортеж
  • «pensize»: положительное число
  • «speed»: число в диапазоне 0..10
  • «resizemode»: «auto» или «user» или «noresize»
  • «stretchfactor»: (положительное число, положительное число)
  • «outline»: положительное число
  • «tilt»: число

Словарь можно использовать в качестве аргумента для последующего вызова pen() для восстановления прежнего состояния пера. Более того, один или несколько из этих атрибутов могут быть предоставлены как ключевые аргументы. Это можно использовать для установки нескольких атрибутов пера в одном операторе.

Возвращает True если перо внизу, False если она вверху.

Цветной контроль¶

Вернуть или установить цвет пера.

Допустимы четыре формата ввода:

pencolor() Возвращает текущую цвет пера как спецификацию цвета строки или как кортеж (см. пример). Может использоваться в качестве ввода для другого вызова color/pencolor/fillcolor. pencolor(colorstring) Задать для цвета пера значение colorstring, которое является строкой цветовой спецификации Tk, например "red" , "yellow" или "#33cc8c" . pencolor((r, g, b)) Установить цвет пера в RGB, представленный кортежем r, g и b. Каждый из r, g и b должен находиться в диапазоне 0..colormode, где colormode принимает значения от 1.0 до 255 (см. colormode() ). pencolor(r, g, b) Установить для пера цвет RGB, представленный r, g и b. Каждый из r, g и b должен находиться в диапазоне 0..colormode.

Если фигурка представляет собой многоугольник, контур этого многоугольника рисуется с помощью только что заданного цвета пера.

Возвращает или задаёт цвет заливки.

Допустимы четыре формата ввода:

fillcolor() Вернуть текущий цвет заливки как строку спецификации цвета, возможно, в формате кортежа (см. пример). Может использоваться как ввод для другого вызова color/pencolor/fillcolor. fillcolor(colorstring) Установить для fillcolor значение colorstring, которое является строкой спецификации цвета Tk, например "red" , "yellow" или "#33cc8c" . fillcolor((r, g, b)) Установить цвет заливки на цвет RGB, представленный кортежем r, g и b. Каждый из r, g и b должен находиться в диапазоне 0..colormode, где colormode равен 1.0 или 255 (см. colormode() ). fillcolor(r, g, b) Установить цвет заливки на цвет RGB, представленный r, g и b. Каждый из r, g и b должен находиться в диапазоне 0..colormode.

Если форма turtleshape представляет собой многоугольник, внутренняя часть этого многоугольника рисуется с помощью вновь заданного цвета заливки.

Вернуть или установить цвет пера и цвет заливки.

Допускается несколько форматов ввода. Они используют от 0 до 3 аргументов следующим образом:

color() Возвращает текущий цвет пера и текущий цвет заливки в виде пары строк или кортежей спецификации цвета, возвращаемых pencolor() и fillcolor() . color(colorstring) , color((r,g,b)) , color(r,g,b) Входные данные, как в pencolor() , устанавливают для обоих цветов заливки и цвета пера заданное значение. color(colorstring1, colorstring2) , color((r1,g1,b1), (r2,g2,b2)) Эквивалентно pencolor(colorstring1) и fillcolor(colorstring2) и аналогично, если используется другой формат ввода.

Если turtleshape — многоугольник, контур и внутренняя часть этого многоугольника вырисовывается с новыми установленными цветами.

См. также: colormode() метода экрана.

Заполнение¶

Вернуть состояние заполнения ( True при заполнении, False в противном случае).

Вызывается непосредственно перед рисованием формы для заливки.

Независимо от того, заполняются ли области перекрытия для самопересекающихся многоугольников или нескольких фигур, зависит от графики операционной системы, типа перекрытия и количества перекрытий. Например, звезда «Черепаха» может быть либо полностью жёлтой, либо содержать несколько белых областей.

Больше контроля над рисованием¶

Удалить рисунки черепахи с экрана, заново отцентрировать черепаху и установить для переменных значения по умолчанию.

Удалить рисунки черепахи с экрана. Не перемещать черепаху. Состояние и положение черепахи, а также рисунки других черепах не меняются.

  • arg – объект для записи на TurtleScreen
  • move – True/False
  • align – одна из строк «left», «center» или right»
  • font – тройной (имя шрифта, размер шрифта, тип шрифта)

Написать текст — строковое представление arg в текущей позиции черепахи по align («left», «center» или «right») и с заданным шрифтом. Если у move значение true, перо перемещается в правый нижний угол текста. По умолчанию move равно False .

Состояние черепахи¶

Видимость¶

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

Сделать черепаху видимой.

Возвращает True если черепаха видима, False если она скрыта.

Внешность¶

turtle. shape ( name=None ) ¶

Параметры: name – строка, которая является допустимым именем фигуры

Установить форму черепахи в форму с заданным name или, если имя не указано, вернуть имя текущей формы. Форма с name должна существовать в словаре форм TurtleScreen. Изначально существуют многоугольники следующих форм: «arrow», «turtle», «circle», «square», «triangle», «classic». Чтобы узнать, как работать с формами, см. Screen метод register_shape() .

turtle. resizemode ( rmode=None ) ¶

Параметры: rmode – одна из строк «auto», «user», «noresize»

Установить для resizemode одно из значений: «auto», «user», «noresize». Если rmode не указан, вернуть текущий режим изменения размера. У различных режимов изменения размера есть следующие эффекты:

  • «auto»: адаптирует внешний вид черепахи в соответствии со значением pensize.
  • «user»: адаптирует внешний вид черепахи в соответствии со значениями stretchfactor и outlinewidth (контура), которые установлены shapesize() .
  • «noresize»: никакой адаптации внешнего вида черепахи не происходит.

resizemode("user") вызывается shapesize() при использовании с аргументами.

  • stretch_wid – положительное число
  • stretch_len – положительное число
  • outline – положительное число

Вернуть или установить атрибуты пера x/y-факторы растяжения и/или контура. Установить resizemode на «user». Если и только если для resizemode установлено значение «user», черепаха будет отображаться растянутой в соответствии с её факторами растяжения: stretch_wid — это фактор растяжения, перпендикулярный её ориентации, stretch_len — фактор растяжения в направлении её ориентации, outline определяет ширину контура фигур.

turtle. shearfactor ( shear=None ) ¶

Параметры: shear – число (необязательно)

Установить или вернуть текущий коэффициент сдвига. Сдвинуть форму черепахи в соответствии с заданным коэффициентом сдвига, который является тангенсом угла сдвига. У черепахи не изменяется курс (направление движения). Если сдвиг не задан: вернуть текущий коэффициент сдвига, т.е. её тангенс угла сдвига, по которому разделяются линии, параллельные направлению движения черепахи.

turtle. tilt ( angle ) ¶

Параметры: angle – число

Повернуть фигуру черепахи на angle от её текущего угла наклона, но не изменяя направление черепахи (направление движения).

turtle. settiltangle ( angle ) ¶

Параметры: angle – число

Повернуть фигуру черепахи так, чтобы она указывала в направлении, указанном angle, независимо от текущего угла наклона. Не меняет курс (направление движения) черепахи.

Не рекомендуется, начиная с версии 3.1.

turtle. tiltangle ( angle=None ) ¶

Параметры: angle – число (необязательно)

Установить или вернуть текущий угол наклона. Если угол задан, повернуть фигуру черепахи так, чтобы она указывала в направлении, заданном углом, независимо от текущего угла наклона. Не меняет курс (направление движения) черепахи. Если угол не указан: вернуть текущий угол наклона, т.е. её угол между ориентацией формы черепахи и курсом черепахи (направление её движения).

  • t11 – число (необязательно)
  • t12 – число (необязательно)
  • t21 – число (необязательно)
  • t12 – число (необязательно)

Установка или возвращение текущей матрицы преобразования формы черепахи.

Если ни один из элементов матрицы не задан, вернуть матрицу преобразования как кортеж из 4 элементов. В противном случае установить данные элементы и преобразовать форму черепахи в соответствии с матрицей, состоящей из первой строки t11, t12 и второй строки t21, t22. Определитель t11 * t22 — t12 * t21 не должен быть нулевым, иначе возникает ошибка. Изменяет коэффициент растяжения, коэффициент сдвига и угол наклона в соответствии с заданной матрицей.

Возвращает текущий многоугольник формы как кортеж пар координат. Её можно использовать для определения новой формы или компонентов составной формы.

Использование событий¶

  • fun – функция с двумя аргументами, которая будет вызвана с координатами точки клика на холсте
  • btn – номер кнопки мыши, по умолчанию — 1 (левая кнопка мыши)
  • add – True или False – если True , то будет добавлен новый биндинг, в противном случае он заменит прежний биндинг

Привязать fun к событиям щелчка мыши для черепахи. Если fun None , существующие привязки удаляются. Пример для анонимной черепахи, т. е. процедурный способ:

  • fun – функция с двумя аргументами, которая будет вызвана с координатами точки клика на холсте
  • btn – номер кнопки мыши, по умолчанию — 1 (левая кнопка мыши)
  • add – True или False – если True , то будет добавлен новый биндинг, в противном случае он заменит прежний биндинг

Связать fun с событиями отпускания кнопки мыши на черепахе. Если fun — None , существующие привязки удаляются.

  • fun – функция с двумя аргументами, которая будет вызвана с координатами точки клика на холсте
  • btn – номер кнопки мыши, по умолчанию — 1 (левая кнопка мыши)
  • add – True или False – если True , то будет добавлен новый биндинг, в противном случае он заменит прежний биндинг

Связать fun с событиями перемещения мыши на этой черепахе. Если fun — None , существующие привязки удаляются.

Замечание: каждой последовательности событий перемещения мыши на черепахе предшествует событие щелчка мыши на этой черепахе.

Впоследствии щелчок и перетаскивание черепахи будет перемещать её по экрану, создавая рисунки от руки (если перо опущено).

Специальные методы черепахи¶

Начать запись вершин многоугольника. Текущее положение черепахи — первая вершина многоугольника.

Остановить запись вершин многоугольника. Текущее положение черепахи является последней вершиной многоугольника. Будет связано с первой вершиной.

Возвращает последний записанный многоугольник.

Создаёт и возвращает клон черепахи с одинаковым положением, заголовком и свойствами черепахи.

Вернуть сам объект черепахи. Единственное разумное использование: как функция для возврата «анонимной черепахи»:

Вернуть объект TurtleScreen , на котором рисует черепаха. Затем для этого объекта можно вызвать методы TurtleScreen.

turtle. setundobuffer ( size ) ¶

Параметры: size – целое число или None

Установить или отключить буфер отмены. Если size является целым числом, устанавливается пустой буфер отмены заданного размера. size дает максимальное количество действий черепахи, которые можно отменить с помощью метода/функции undo() . Если size — None , буфер отмены отключён.

Возвращает количество записей в буфере отмены.

Составные формы¶

Чтобы использовать составные формы черепах, состоящие из нескольких многоугольников разного цвета, необходимо явно использовать класс помощник Shape как описано ниже:

Создать пустой объект Shape типа «составной».

Добавить к этому объекту необходимое количество компонентов с помощью метода addcomponent() .

Теперь добавим фигуру в список фигур экрана и используем её:

Класс Shape используется внутри метода register_shape() по- разному. Программист приложения должен работать с классом Shape только при использовании составных фигур, как показано выше!

Методы TurtleScreen/Screen и соответствующие функции¶

Большинство примеров в этом разделе относятся к сущности TurtleScreen под названием screen .

Контроль за окном¶

turtle. bgcolor ( *args ) ¶

Параметры: args – цвет-строка или три числа в диапазоне 0..colormode или 3-кортеж таких чисел

Установить или вернуть цвет фона экрана TurtleScreen.

turtle. bgpic ( picname=None ) ¶

Параметры: picname – строка, имя gif-файла, "nopic" или None

Установить фоновое изображение или вернуть имя текущего фонового изображения. Если picname — имя файла, установить соответствующее изображение в качестве фона. Если picname — "nopic" , удалить фоновое изображение, если оно есть. Если picname — None , вернуть имя файла текущего фонового изображения.

Удалить все рисунки и всех черепах с экрана TurtleScreen. Сбросить теперь пустой TurtleScreen в исходное состояние: белый фон, без фонового изображения, без привязки событий и трассировки.

Метод TurtleScreen доступен как глобальная функция только под именем clearscreen . Глобальная функция clear является другой функцией, производной от Turtle метода clear .

Сбросить все черепахи на экране в исходное состояние.

Метод TurtleScreen доступен как глобальная функция только под именем resetscreen . Глобальная функция reset является другой функцией, производной от Turtle метода reset .

  • canvwidth – положительное целое число, новая ширина холста в пикселях
  • canvheight – положительное целое число, новая высота холста в пикселях
  • bg – цветная строка или кортеж, новый цвет фона

Если аргументы не указаны, вернуть текущее значение (ширина холста, высота холста). Или изменить размер холста, на котором рисуют черепахи. Не изменяет окно рисования. Для наблюдения за скрытыми частями холста используйте полосы прокрутки. С помощью этого метода можно сделать видимыми те части рисунка, которые раньше находились за пределами холста.

например, для поиска ошибочно сбежавшей черепахи; -)

  • llx – число, координата x нижнего левого угла холста
  • lly – число, координата y нижнего левого угла холста
  • urx – число, координата x правого верхнего угла холста
  • ury – число, координата y правого верхнего угла холста

Настроить пользовательскую систему координат и при необходимости переключитесь в режим «world». Выполняет screen.reset() . Если режим «world» уже активирован, все рисунки перерисовываются в соответствии с новыми координатами.

ВНИМАНИЕ: в пользовательских системах координат углы могут показаться искажёнными.

Управление анимацией¶

turtle. delay ( delay=None ) ¶

Параметры: delay – положительное целое число

Установить или вернуть рисунок через delay в миллисекундах. (Это приблизительно временной интервал между двумя последовательными обновлениями холста.) Чем больше задержка рисования, тем медленнее анимация.

  • n – неотрицательное целое число
  • delay – неотрицательное целое число

Включить/выключить анимацию черепахи и установить задержку для обновления рисунков. Если задан n, действительно выполняется только каждое n-е регулярное обновление экрана. (Может использоваться для ускорения рисования сложной графики.) При вызове без аргументов возвращает текущее сохраненное значение n. Второй аргумент устанавливает значение задержки (см. delay() ).

Выполнить обновление экрана черепахи. Используется при выключенном трассировщике.

См. также speed() метод RawTurtle/Turtle.

Использование событий экрана¶

Установить фокус на экран черепахи (в порядке собора ключевых событий). Для передачи listen() методу onclick предоставляются фиктивные аргументы.

  • fun – функция без аргументов или None
  • key – строка: ключ (например, «a») или ключевой символ (например, «пробел»)

Связать fun с событием отпускания клавиши для клавиши. Если fun — None , привязки событий удаляются. Примечание: чтобы иметь возможность регистрировать ключевые события, у экрана черепахи должен быть фокус. (См. метод listen() .)

  • fun – функция без аргументов или None
  • key – строка: ключ (например, «a») или ключевой символ (например, «пробел»)

Привязать fun с событием нажатия клавиши для клавиши, если клавиша задана, или с любым событием нажатия клавиши, если клавиша не указана. Примечание: чтобы иметь возможность регистрировать ключевые события, у экрана черепахи должен быть фокус. (См. метод listen() .)

  • fun – функция с двумя аргументами, которая будет вызвана с координатами точки клика на холсте
  • btn – номер кнопки мыши, по умолчанию — 1 (левая кнопка мыши)
  • add – True или False – если True , то будет добавлен новый биндинг, в противном случае он заменит прежний биндинг

Привязать fun к событиям щелчка мыши на экране. Если fun None , существующие привязки удаляются.

Пример для экземпляра TurtleScreen с именем screen и экземпляра Turtle с именем turtle :

Метод TurtleScreen доступен как глобальная функция только под именем onscreenclick . Глобальная функция onclick является другой функцией, производной от Turtle метода onclick .

  • fun – функция без аргументов
  • t – число >= 0

Установить таймер, вызывающий fun через t миллисекунд.

Запускает цикл событий — вызов функции основного цикла Tkinter. Должен быть последним оператором в графической программе черепахи. Не должно использоваться, если сценарий запускается из IDLE в режиме -n (без подпроцесса) — для интерактивного использования графики черепахи.

Методы ввода¶

  • title – строка
  • prompt – строка

Открыть диалоговое окно для ввода строки. title параметр — заголовок диалогового окна, prompt — текст, в основном описывающий вводимую информацию. Возвращает введённую строку. Если диалоговое окно отменено, возвращает None :

  • title – строка
  • prompt – строка
  • default – число (дополнительное)
  • minval – число (дополнительное)
  • maxval – число (дополнительное)

Открыть диалоговое окно для ввода числа. title — заголовок диалогового окна, prompt — текст, в основном описывающий, какую числовую информацию ввести. По умолчанию: значение по умолчанию, minval: минимальное значение для ввода, maxval: максимального значения для ввода числа и должен находиться в диапазоне minval..maxval, если они даны. В противном случае выдается подсказка, и диалоговое окно остается открытым для исправления. Возвращает введённый номер. Если диалоговое окно отменено, возвращает None :

Настройки и специальные методы¶

turtle. mode ( mode=None ) ¶

Параметры: mode – одно из строк «standard», «logo» или «world»

Установить режим черепахи («standard», «logo» или «world») и выполнить сброс. Если режим не задан, возвращает текущий режим.

Режим «standard» совместим со старым turtle . Режим «logo» совместим с большинством Logo изображений черепахи. В режиме «world» используются определенные пользователем «мировые координаты». Внимание: в этом режиме углы искажаются, если x/y удельное соотношение не равно 1.

 

Режим Начальный заголовок черепахи положительные углы
«standard» направо (восток) против часовой стрелки
«logo» вверх (север) по часовой стрелке

 

turtle. colormode ( cmode=None ) ¶

Параметры: cmode – одно из значений 1.0 или 255

Возвращает цветовой код или устанавливает для него значение 1.0 или 255. В дальнейшем r, g, b значения цветовых троек должны находиться в диапазоне 0..cmode.

Вернуть холст TurtleScreen. Полезно для инсайдеров, которые знают, что делать с холстом Tkinter.

Возвращает список имён всех доступных в настоящее время фигур черепах.

Существует три различных способа вызова этой функции:

name — имя gif-файла, а shape None : установить соответствующую фигуру изображения.:

Фигуры изображения не вращаются при повороте черепахи, поэтому они не отображают заголовок черепахи!

name — произвольная строка, а shape — кортеж пар координат: установить соответствующую форму многоугольника.

name — произвольная строка, а форма — (составная) Shape объект: установить соответствующую составную форму.

Добавить фигуру черепахи в список фигур TurtleScreen. Только зарегистрированные таким образом формы можно использовать с помощью команды shape(shapename) .

Возвращает список черепах на экране.

Возвращает высоту черепашьего окна.

Возвращает ширину черепашьего окна.

Методы, специфичные для Screen, не наследуемые от TurtleScreen¶

Закрыть окно с туртлеграфикой.

Привязать метод bye() к щелчкам мыши по экрану.

Если значение «using_IDLE» в словаре конфигурации — False (значение по умолчанию), также войти в главный цикл. Примечание: если используется IDLE с переключателем -n (без подпроцесса), это значение должно устанавливаться на True в turtle.cfg . В этом случае собственный главный цикл IDLE также активен для клиентского скрипта.

turtle. setup ( width=_CFG["width"], height=_CFG["height"], startx=_CFG["leftright"], starty=_CFG["topbottom"] ) ¶

Задать размер и положение главного окна. Значения аргументов по умолчанию хранятся в словаре конфигурации и могут быть изменены с помощью файла turtle.cfg .

  • width – если целое число, размер в пикселях, если float, доля экрана; по умолчанию 50% экрана
  • height – если целое число, высота в пикселях, если float, доля экрана; по умолчанию 75% экрана
  • startx – если положителен, начальная позиция в пикселях от левого края экрана, если отрицательный от правого края, если None , центрировать окно по горизонтали
  • starty – если положителен, начальная позиция в пикселях от верхнего края экрана, если отрицательный от нижнего края, если None , центрировать окно по вертикали

turtle. title ( titlestring ) ¶

Параметры: titlestring – строка, которая показана в строке заголовка черепахи графического окна

Установить заголовок окна черепахи на titlestring.

Общественные классы¶

class turtle. RawTurtle ( canvas ) ¶ class turtle. RawPen ( canvas ) ¶

Параметры: canvas – tkinter.Canvas , ScrolledCanvas или TurtleScreen

Создать черепаху. У черепахи есть все методы, описанные выше как «методы Turtle/RawTurtle».

class turtle. Turtle ¶

Подкласс RawTurtle, содержит тот же интерфейс, но использует объект Screen по умолчанию, созданный автоматически при первой необходимости.

class turtle. TurtleScreen ( cv ) ¶

Параметры: cv – tkinter.Canvas

 

Предоставляет методы, ориентированные на экран, такие как setbg() и т. д., описанные выше.

class turtle. Screen ¶

class turtle. ScrolledCanvas ( master ) ¶

Параметры: master – некоторый виджет Tkinter для хранения ScrolledCanvas, т. е. Tkinter-холст с добавленными полосами прокрутки

 

Используется классом Screen, который, таким образом, автоматически предоставляет ScrolledCanvas в качестве игровой площадки для черепах.

class turtle. Shape ( type_, data ) ¶

Параметры: type_ – один из строк «polygon», «image», «compound»

 

Фигуры моделирования структуры данных. Пара (type_, data) должна соответствовать следующей спецификации:

  • poly – многоугольник, т. е. кортеж пар чисел
  • fill – цвет, которым будет заполнен poly
  • outline – цвет для контура poly (если он задан)

Класс двумерных векторов, используемый в качестве вспомогательного класса для реализации графики черепахи. Может быть также полезен для черепашьих графических программ. Унаследован от кортежа, поэтому вектор является кортежем!

Предоставляет (для a, векторов b, числа k):

  • a + b векторное сложение
  • a — b векторное вычитание
  • a * b скалярное произведение
  • k * a и a * k умножение со скаляром
  • abs(a) абсолютное значение а
  • a.rotate(angle) вращение

Справка и настройка¶

Как пользоваться помощью¶

Публичные методы классов Screen и Turtle подробно документируются с помощью докстрингов. Таким образом, они могут использоваться как онлайн-справки через справочные средства Python:

При использовании IDLE в подсказках отображаются сигнатуры и первые строки докстрингов типизированных вызовов функций/методов.

Вызов help() по методам или функциям отображает докстринги:

У строк документации функций, производных от методов, изменённая форма:

Измененные строки документации создаются автоматически вместе с определениями функций, производными от методов во время импорта.

Перевод докстрингов на различные языки¶

Существует утилита для создания словаря, ключами которого являются имена методов, а значениями — строки документации общедоступных методов классов Screen и Turtle.

turtle. write_docstringdict ( filename="turtle_docstringdict" ) ¶

Параметры: filename – строка, используемая как имя файла

 

Создать и записать словарь строк документации в скрипт Python с заданным именем файла. Эта функция должна вызываться явно (она не используется классами графики черепахи). Словарь строк документации будет записан в сценарий Python filename .py . Он предназначен для использования в качестве шаблона для перевода строк документации на разные языки.

Если вы (или ваши студенты) хотите использовать turtle с помощью онлайн- справки на родном языке, вы должны перевести докстринги и сохранить полученный файл, например, как turtle_docstringdict_german.py .

Если в файле turtle.cfg есть соответствующая запись, этот словарь будет прочитан во время импорта и заменит исходные английские докстринги.

На момент написания этой статьи существует докстринг словари на немецком и итальянском языках. (Запросы пожалуйста присылайте на glingl @ aon . at.)

Руководство по настройке Screen и Turtles¶

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

Если вы хотите использовать другую конфигурацию, которая лучше отражает особенности этого модуля или лучше соответствует вашим потребностям, например, для использования в классе, вы можете подготовить файл конфигурации turtle.cfg который будет прочитан во время импорта и изменить конфигурацию в соответствии с его настройками.

Встроенная конфигурация будет соответствовать следующей конфигурации turtle.cfg:

Краткое объяснение выбранных записей:

  • Первые четыре строки соответствуют аргументам метода Screen.setup() .
  • Строки 5 и 6 соответствуют аргументам метода Screen.screensize() .
  • shape может быть любой из встроенных фигур, например: arrow, turtle и т.д. Для получения дополнительной информации выполните help(shape) .
  • Если вы не хотите использовать цвет заливки (т. е. сделать черепаху прозрачной), вы должны написать fillcolor = "" (но все заполненный строки не должны содержать кавычек в cfg-файле).
  • Если вы хотите отразить состояние черепахи, вы должны использовать resizemode = auto .
  • Если установлен, например, language = italian докстринг dict turtle_docstringdict_italian.py будет загружен во время импорта (если присутствует в пути импорта, например, в том же каталоге, что и turtle .
  • Записи exampleturtle и examplescreen определяют имена этих объектов по мере их появления в докстрингах. Преобразование method-докстрингов в function-докстрингов удалит эти имена из докстрингов.
  • using_IDLE: Установит значение True , если вы регулярно работаете с IDLE и его переключателем -n («без подпроцесса»). Это предотвратит попадание exitonclick() в основной цикл.

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

Каталог Lib/turtledemo содержит файл turtle.cfg . Вы можете изучить его в качестве примера и увидеть его эффекты при запуске демоверсий (желательно не из программы просмотра демо).

turtledemo — Демонстрационные сценарии¶

Пакет turtledemo включает набор демонстрационных сценариев. Эти сценарии можно запускать и просматривать с помощью предоставленного демонстрационного средства просмотра следующим образом:

Кроме того, можно запускать демонстрационные сценарии по отдельности. Например:

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *