как узнать координаты черепашки в python
«Черепашья графика» при помощи turtle, рисование при помощи алгоритма
Черепашья графика, turtle – принцип организации библиотеки графического вывода, построенный на метафоре Черепахи, воображаемого роботоподобного устройства, которое перемещается по экрану или бумаге и поворачивается в заданных направлениях, при этом оставляя (или, по выбору, не оставляя) за собой нарисованный след заданного цвета и ширины.
Проще: черепашка ползает по экрану и рисует. Мы управляем черепашкой на плоскости при помощи программы.
Начало работы. Движения
В первой строке необходимо добавить:
Мы командуем черепашкой простыми словами на английском языке. left, right – поворот налево и направо, forward и backward – движение вперед и назад. В программе каждое действие – вызов функции из модуля turtle. Простая программа:
Не похоже на черепашку, это ползающая стрелка! Исправим это:
Отлично! Теперь это черепашка, пусть и монохромная. Дополнительно, функция exitonclick() позволяет закрыть окно и завершить выполнение программы кликом мышкой по окну.
А еще можно использовать сокращенные названия функций: fd(100) вместо forward(100), rt вместо right, lt вместо left, bk вместо backward.
Геометрические фигуры
Рисуем простые геометрические фигуры:
Если мы хотим выполнить инструкции n раз, мы пишем их в цикле
Далее идут инструкции с отступом в 4 пробела. Код с отступами – тело цикла. Когда цикл завершается, отступы больше не ставятся.
Скучно рисовать одинокие фигуры. Поэтому мы приготовились рисовать сразу несколько и теперь создаем отдельный экземпляр класса Turtle для каждой фигуры. Так мы можем менять цвет линии и другие параметры отдельно для каждой фигуры. Потом, когда мы захотим дорисовать или изменить параметры фигуры, у нее будут сохранены старые параметры. Их не надо будет устанавливать заново, как это было бы без отдельных экземпляров класса для каждой фигуры.
Звезда рисуется также:
Самостоятельно:
Решения
Изменяем параметры во время движения
При отрисовке простых фигур черепашка возвращалась в исходную точку, и программа останавливалась, ожидая, когда будет закрыто окно. Если в цикле продолжить рисовать по прежним инструкциям, фигура будет нарисована заново по уже нарисованным контурам. А если ввести дополнительный угол поворота?
Больше программирования!
Напишем обобщенную программу рисования выпуклых равносторонних многоугольников. num_sides – количество граней, side_length – длина грани, angle – угол поворота.
Что будет, если на каждом шаге увеличивать длину пути? В первый день 10 шагов, во второй – 20, далее 30, 40 и так до 200:
Координаты на плоскости
Положение на плоскости определяется двумя числами, x и y:
Черепашку в программе можно перемещать функцией goto(x, y). x и y – числа, или переменные. goto(0, 0) переместит черепашку в начало координат.
Вместо звезды-спирали мы получили 5 линий, расходящихся из точки начала координат.
Круг и точка
Не хватает плавных изгибов? На помощь приходят функции dot() и circle():
Самостоятельно:
Решения
Делаем фигуры равновеликими
Площадь квадрата со стороной 100 пикселей – 10 000 квадратных пикселей. Вычислим площади всех фигур со стороной 100 от треугольника до 7-угольника. Формула площади правильного многоугольника содержит тангенс, поэтому «поверим на слово» результату, зависимости количество углов (вершин) – площадь:
Изобразим ее на графике:
Получается, что площадь 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 пикселей (снова «верим на слово»). Эту зависимость можно нащупать «на глаз», в чем и заключалось задание.
Наша программа без труда масштабируется до большего количества фигур:
Программа, в которой вычисляются точные значения:
Как построить график (если кто захочет):
Другие полезные функции:
Пример двух рисунков – экземпляров класса Turtle() – на одном полотне
Итог: функции и классы на примере turtle
Графический интерфейс средствами библиотеки turtle.
Нарисуем прямоугольник и сделаем его кнопкой: при нажатии кнопка исчезает и появляется круг:
Как узнать координаты черепашки в python
Теперь мы можем управлять нашей черепашкой.
По умолчанию курсор появляется в координатах X=0 и Y=0, это центр окна и направление курсора в право.
Зададим команду пройти на 50 пикселей используем команду «forward».
Черепашка нарисовала нам отрезок.
Можно менять направление движения черепашки, используя команду «left» или «right» в скобках указывая угол поворота.
Давайте повернем черепашку на лево на 90 градусов, и пройдем еще 50 пикселей.
Добавим в самом конце нашего кода команду «turtle.mainloop( )» она нужна для задержки окна после выполнения программы.
import turtle # импортируем библиотеку turtle
dog=turtle.Turtle() # создаем объект черепашка, и сохраняем ее в переменную dog
dog.forward(50) # команда пройти 50 пикселей
dog.left(90) # команда повернуть налево на 90 градусов
dog.forward(50) # команда пройти 50 пикселей
turtle.mainloop( ) # команда для задержки окна рисования
По результату видно, что получилась половинка от квадрата.
Для того что бы нарисовать квадрат полностью необходимо еще раз продублировать эти команды.
Допишем наш код:
import turtle # импортируем библиотеку turtle
dog=turtle.Turtle() # создаем объект черепашка, и сохраняем ее в переменную dog
dog.forward(50) # команда пройти 50 пикселей
dog.left(90) # команда повернуть налево на 90 градусов
dog.forward(50) # команда пройти 50 пикселей
# дописываем код
dog.left(90) # команда повернуть налево на 90 градусов
dog.forward(50) # команда пройти 50 пикселей
dog.left(90) # команда повернуть налево на 90 градусов
dog.forward(50) # команда пройти 50 пикселей
dog.left(90) # команда повернуть налево на 90 градусов
turtle.mainloop( ) # команда для задержки окна рисования
Видим, что в коде повторяются две команды, четыре раза,
поэтому можно эти команды запустить в цикле «for»
Цикл «for» разобран будет в другой теме обсуждения по ссылке
https://vk.com/topic-190432901_40148852
Изменим наш код:
import turtle # импортируем библиотеку turtle
dog=turtle.Turtle() # создаем объект черепашка, и сохраняем ее в переменную dog
for i in range(4): # Цикл выполнит команды 4 раза
. dog.forward(50) # команда пройти 50 пикселей
. dog.left(90) # команда повернуть налево на 90 градусов
. # Обратите внимание на отступ в 4 символа команд в теле цикла, в коде писать без точек
turtle.mainloop( ) # команда для задержки окна рисования
Давайте теперь еще немного улучшим наш код и создадим функцию,
которая будет принимать параметр, равный значения стороны квадрата
и рисовать этот квадрат.
Создаем функцию «kv».
Как создавать функции разобран будет в другой теме обсуждения по ссылке
https://vk.com/topic-190432901_40148847
Наш цикл переносим в функцию.
И вызываем нашу функцию 7 раз с разными значениями сторон,
например (50, 100, 110, 120, 130, 140, 150).
import turtle # импортируем библиотеку turtle
dog=turtle.Turtle() # создаем объект черепашка, и сохраняем ее в переменную dog
turtle.mainloop( ) # команда для задержки окна рисования
Запускаем и смотрим на результат работы.
Давайте нашу функцию запустить в цикле.
Для этого создадим переменную «l» и зададим ей начальное значение стороны квадрата «10».
Создадим цикл «for» который будет запускать нашу функцию «kv» 25 раз.
И после каждой итерации цикла будем увеличивать сторону квадрата на 10 пикселей.
import turtle # импортируем библиотеку turtle
dog=turtle.Turtle() # создаем объект черепашка, и сохраняем ее в переменную dog
l=10 # начальная длина квадрата
for i in range(25): # Цикл выполнит функцию kv 25 раз
. kv(l) # Функция kv принимает аргумент l равный длине стороны квадрата
. l = l + 10 # После каждой итерации цикла увеличиваем аргумент (длину стороны квадрата) на 10 пикселей
. # Обратите внимание на отступ в 4 символf команд в теле цикла
. # Точки отступа приведенные здесь в коде писать не надо, а надо делать отступы
turtle.mainloop( ) # команда для задержки окна рисования
Запускаем, и черепашка вырисовывает нам 25 квадратов.
turtle — Черепашья графика¶
Исходный код: Lib/turtle.py
Введение¶
Черепашья графика является популярным способом введения в программирование для детей. Была частью оригинального языка программирования Logo, разработанного Уолли Фейрцейгом (Wally Feurzeig), Сеймуром Папертом (Seymour Papert) и Синтией Соломон (Cynthia Solomon) в 1967 году.
Черепаха может рисовать сложные формы с помощью программ, которые повторяют простые ходы.
Комбинируя эти и подобные команды, можно легко рисовать сложные формы и изображения.
Модуль turtle — это расширенная реализация одноименного модуля из стандартного дистрибутива Python до версии Python 2.5.
Модуль turtle предоставляет примитивы черепашей графики, как объектно- ориентированными, так и процедурно-ориентированными способами. Поскольку он использует tkinter для базовой графики, ему необходима версия Python, установленная с поддержкой Tk.
Объектно-ориентированный интерфейс использует по существу два+два класса:
Все методы TurtleScreen/Screen также существуют как функции, т. е. как часть интерфейса, ориентированного на процедуры.
Все методы RawTurtle/Turtle также существуют как функции, т. е. часть интерфейса, ориентированного на процедуры.
Для использования нескольких черепах на экране необходимо использовать объектно- ориентированный интерфейс.
В следующей документации приведён список аргументов для функций. У методов, конечно, есть дополнительный первый аргумент self который здесь пропущен.
Обзор доступных методов Turtle и Screen¶
Методы Turtle¶
Методы TurtleScreen/Screen¶
Методы RawTurtle/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 – число (целое число или число с плавающей запятой) |
---|
turtle. left ( angle ) ¶ turtle. lt ( angle ) ¶
Параметры: | angle – число (целое число или число с плавающей запятой) |
---|
Переместить черепаху в абсолютное положение. Если перо расположено вниз, провести линию. Не меняя ориентацию черепахи.
turtle. setx ( x ) ¶
Параметры: | x – число (целое число или число с плавающей запятой) |
---|
Установить первую координату черепахи на x, а вторую оставить без изменений.
turtle. sety ( y ) ¶
Параметры: | y – число (целое число или число с плавающей запятой) |
---|
Задать для второй координаты черепахи значение y, оставляя первую координату неизменной.
turtle. setheading ( to_angle ) ¶ turtle. seth ( to_angle ) ¶
Параметры: | to_angle – число (целое число или число с плавающей запятой) |
---|
Установить ориентацию черепахи на to_angle. Вот некоторые общие направления в градусах:
Переместить черепаху в исходную точку — координаты (0,0) и повернув её голову в её начальное положение (которая зависит от режима, см. mode() ).
Нарисовать круг с заданным radius. Центр — это radius единиц слева от черепахи; угол extent определяет, какая часть окружности нарисована. Если extent не указан, нарисовать весь круг. Если extent не является полным кругом, одна конечная точка дуги является текущим положением пера. Провести дугу против часовой стрелки, если radius положительный, в противном случае — по часовой стрелке. Наконец, направление черепахи изменяется на extent.
Поскольку окружность аппроксимируется вписанным правильным многоугольником, steps определяет количество шагов для использования. Если он не указан, он будет рассчитан автоматически. Может использоваться для построения правильных многоугольников.
Нарисовать круглую точку диаметром size, используя color. Если size не указан, используется максимум pensize+4 и 2*pensize.
turtle. clearstamp ( stampid ) ¶
Параметры: | stampid – целое число, должно быть возвращено значением предыдущего вызова stamp() |
---|
Удалить штамп с заданным stampid.
turtle. clearstamps ( n=None ) ¶
Параметры: | n – целое число (или None ) |
---|
Отменить (повторно) последнее действие (действия) черепахи. Количество доступных действий отмены определяется размером undobuffer.
turtle. speed ( speed=None ) ¶
Параметры: | speed – целое число в диапазоне 0..10 или speedstring (см. ниже) |
---|
Задать скорость черепахи целым числом в диапазоне 0..10. Если аргумент не указан, вернуть текущую скорость.
Если введено число больше 10 или меньше 0.5, скорость устанавливается на 0. Строки скорости сопоставляются со значениями скорости следующим образом:
Скорости от 1 до 10 ускоряют анимацию рисования линий и поворота черепах.
Внимание: speed = 0 означает, что анимация не используется. forward/back заставляет черепаху прыгать и также влево/вправо заставляет черепаху мгновенно повернуться.
Спросить о состоянии черепахи¶
Возвращает текущее местоположение черепахи (x, y) (как вектор Vec2D ).
Возвращает угол между линией от положения черепахи к положению, заданному (x, y), вектором или другой черепахой. Это зависит от начальной ориентации черепахи, которая зависит от режима — «standard»/«world» или «logo».
Возвращает координату x черепахи.
Возвращает координату y черепахи.
Возвращает текущий курс черепахи (значение зависит от режима черепахи, см. mode() ).
Возвращает расстояние от черепахи до (x, y), заданного вектора или другой черепахи в шаговых единицах черепахи.
Параметры измерения¶
turtle. degrees ( fullcircle=360.0 ) ¶
Параметры: | fullcircle – число |
---|
Контроль за пером¶
Состояние рисунка¶
Поместить перо вниз — рисование при движении.
turtle. penup ( ) ¶ turtle. pu ( ) ¶ turtle. up ( ) ¶
Поместить перо вверх — никакого рисунка при движении.
turtle. pensize ( width=None ) ¶ turtle. width ( width=None ) ¶
Параметры: | width – положительное число |
---|
Установить толщину линии на width или вернуть её. Если для resizemode установлено значение «auto», а turtleshape является polygon, этот многоугольник рисуется с одинаковой толщиной линии. Если аргумент не указан, возвращается текущий размер пера.
Вернуть или установить атрибуты пера в «словарь пера» со следующими парами ключ/значение:
Словарь можно использовать в качестве аргумента для последующего вызова pen() для восстановления прежнего состояния пера. Более того, один или несколько из этих атрибутов могут быть предоставлены как ключевые аргументы. Это можно использовать для установки нескольких атрибутов пера в одном операторе.
Возвращает True если перо внизу, False если она вверху.
Цветной контроль¶
Вернуть или установить цвет пера.
Допустимы четыре формата ввода:
Если фигурка представляет собой многоугольник, контур этого многоугольника рисуется с помощью только что заданного цвета пера.
Возвращает или задаёт цвет заливки.
Допустимы четыре формата ввода:
Если форма turtleshape представляет собой многоугольник, внутренняя часть этого многоугольника рисуется с помощью вновь заданного цвета заливки.
Вернуть или установить цвет пера и цвет заливки.
Допускается несколько форматов ввода. Они используют от 0 до 3 аргументов следующим образом:
Если turtleshape — многоугольник, контур и внутренняя часть этого многоугольника вырисовывается с новыми установленными цветами.
См. также: colormode() метода экрана.
Заполнение¶
Вернуть состояние заполнения ( True при заполнении, False в противном случае).
Вызывается непосредственно перед рисованием формы для заливки.
Независимо от того, заполняются ли области перекрытия для самопересекающихся многоугольников или нескольких фигур, зависит от графики операционной системы, типа перекрытия и количества перекрытий. Например, звезда «Черепаха» может быть либо полностью жёлтой, либо содержать несколько белых областей.
Больше контроля над рисованием¶
Удалить рисунки черепахи с экрана, заново отцентрировать черепаху и установить для переменных значения по умолчанию.
Удалить рисунки черепахи с экрана. Не перемещать черепаху. Состояние и положение черепахи, а также рисунки других черепах не меняются.
Состояние черепахи¶
Видимость¶
Сделайть черепаху невидимой. Это хорошая идея, когда вы занимаетесь сложным рисунком, потому что скрытие черепахи заметно ускоряет рисование.
Сделать черепаху видимой.
Возвращает True если черепаха видима, False если она скрыта.
Внешность¶
turtle. shape ( name=None ) ¶
Параметры: | name – строка, которая является допустимым именем фигуры |
---|
turtle. resizemode ( rmode=None ) ¶
Параметры: | rmode – одна из строк «auto», «user», «noresize» |
---|
Установить для resizemode одно из значений: «auto», «user», «noresize». Если rmode не указан, вернуть текущий режим изменения размера. У различных режимов изменения размера есть следующие эффекты:
resizemode(«user») вызывается shapesize() при использовании с аргументами.
Вернуть или установить атрибуты пера x/y-факторы растяжения и/или контура. Установить resizemode на «user». Если и только если для resizemode установлено значение «user», черепаха будет отображаться растянутой в соответствии с её факторами растяжения: stretch_wid — это фактор растяжения, перпендикулярный её ориентации, stretch_len — фактор растяжения в направлении её ориентации, outline определяет ширину контура фигур.
turtle. shearfactor ( shear=None ) ¶
Параметры: | shear – число (необязательно) |
---|
Установить или вернуть текущий коэффициент сдвига. Сдвинуть форму черепахи в соответствии с заданным коэффициентом сдвига, который является тангенсом угла сдвига. У черепахи не изменяется курс (направление движения). Если сдвиг не задан: вернуть текущий коэффициент сдвига, т.е. её тангенс угла сдвига, по которому разделяются линии, параллельные направлению движения черепахи.
Повернуть фигуру черепахи на angle от её текущего угла наклона, но не изменяя направление черепахи (направление движения).
turtle. settiltangle ( angle ) ¶
Параметры: | angle – число |
---|
Повернуть фигуру черепахи так, чтобы она указывала в направлении, указанном angle, независимо от текущего угла наклона. Не меняет курс (направление движения) черепахи.
Не рекомендуется, начиная с версии 3.1.
turtle. tiltangle ( angle=None ) ¶
Параметры: | angle – число (необязательно) |
---|
Установить или вернуть текущий угол наклона. Если угол задан, повернуть фигуру черепахи так, чтобы она указывала в направлении, заданном углом, независимо от текущего угла наклона. Не меняет курс (направление движения) черепахи. Если угол не указан: вернуть текущий угол наклона, т.е. её угол между ориентацией формы черепахи и курсом черепахи (направление её движения).
Установка или возвращение текущей матрицы преобразования формы черепахи.
Возвращает текущий многоугольник формы как кортеж пар координат. Её можно использовать для определения новой формы или компонентов составной формы.
Использование событий¶
Замечание: каждой последовательности событий перемещения мыши на черепахе предшествует событие щелчка мыши на этой черепахе.
Впоследствии щелчок и перетаскивание черепахи будет перемещать её по экрану, создавая рисунки от руки (если перо опущено).
Специальные методы черепахи¶
Начать запись вершин многоугольника. Текущее положение черепахи — первая вершина многоугольника.
Остановить запись вершин многоугольника. Текущее положение черепахи является последней вершиной многоугольника. Будет связано с первой вершиной.
Возвращает последний записанный многоугольник.
Создаёт и возвращает клон черепахи с одинаковым положением, заголовком и свойствами черепахи.
Вернуть сам объект черепахи. Единственное разумное использование: как функция для возврата «анонимной черепахи»:
turtle. setundobuffer ( size ) ¶
Параметры: | size – целое число или None |
---|
Возвращает количество записей в буфере отмены.
Составные формы¶
Чтобы использовать составные формы черепах, состоящие из нескольких многоугольников разного цвета, необходимо явно использовать класс помощник Shape как описано ниже:
Создать пустой объект Shape типа «составной».
Теперь добавим фигуру в список фигур экрана и используем её:
Класс Shape используется внутри метода register_shape() по- разному. Программист приложения должен работать с классом Shape только при использовании составных фигур, как показано выше!
Методы TurtleScreen/Screen и соответствующие функции¶
Контроль за окном¶
turtle. bgcolor ( *args ) ¶
Параметры: | args – цвет-строка или три числа в диапазоне 0..colormode или 3-кортеж таких чисел |
---|
Установить или вернуть цвет фона экрана TurtleScreen.
turtle. bgpic ( picname=None ) ¶
Параметры: | picname – строка, имя gif-файла, «nopic» или None |
---|
Удалить все рисунки и всех черепах с экрана TurtleScreen. Сбросить теперь пустой TurtleScreen в исходное состояние: белый фон, без фонового изображения, без привязки событий и трассировки.
Сбросить все черепахи на экране в исходное состояние.
Если аргументы не указаны, вернуть текущее значение (ширина холста, высота холста). Или изменить размер холста, на котором рисуют черепахи. Не изменяет окно рисования. Для наблюдения за скрытыми частями холста используйте полосы прокрутки. С помощью этого метода можно сделать видимыми те части рисунка, которые раньше находились за пределами холста.
ВНИМАНИЕ: в пользовательских системах координат углы могут показаться искажёнными.
Управление анимацией¶
turtle. delay ( delay=None ) ¶
Параметры: | delay – положительное целое число |
---|
Установить или вернуть рисунок через delay в миллисекундах. (Это приблизительно временной интервал между двумя последовательными обновлениями холста.) Чем больше задержка рисования, тем медленнее анимация.
Включить/выключить анимацию черепахи и установить задержку для обновления рисунков. Если задан n, действительно выполняется только каждое n-е регулярное обновление экрана. (Может использоваться для ускорения рисования сложной графики.) При вызове без аргументов возвращает текущее сохраненное значение n. Второй аргумент устанавливает значение задержки (см. delay() ).
Выполнить обновление экрана черепахи. Используется при выключенном трассировщике.
См. также speed() метод RawTurtle/Turtle.
Использование событий экрана¶
Установить фокус на экран черепахи (в порядке собора ключевых событий). Для передачи listen() методу onclick предоставляются фиктивные аргументы.
Пример для экземпляра TurtleScreen с именем screen и экземпляра Turtle с именем turtle :
Установить таймер, вызывающий fun через t миллисекунд.
Методы ввода¶
Открыть диалоговое окно для ввода строки. title параметр — заголовок диалогового окна, prompt — текст, в основном описывающий вводимую информацию. Возвращает введённую строку. Если диалоговое окно отменено, возвращает None :
Открыть диалоговое окно для ввода числа. title — заголовок диалогового окна, prompt — текст, в основном описывающий, какую числовую информацию ввести. По умолчанию: значение по умолчанию, minval: минимальное значение для ввода, maxval: максимального значения для ввода числа и должен находиться в диапазоне minval..maxval, если они даны. В противном случае выдается подсказка, и диалоговое окно остается открытым для исправления. Возвращает введённый номер. Если диалоговое окно отменено, возвращает None :
Настройки и специальные методы¶
turtle. mode ( mode=None ) ¶
Параметры: | mode – одно из строк «standard», «logo» или «world» |
---|
Установить режим черепахи («standard», «logo» или «world») и выполнить сброс. Если режим не задан, возвращает текущий режим.
Режим | Начальный заголовок черепахи | положительные углы |
---|---|---|
«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 — кортеж пар координат: установить соответствующую форму многоугольника.
Возвращает список черепах на экране.
Возвращает высоту черепашьего окна.
Возвращает ширину черепашьего окна.
Методы, специфичные для Screen, не наследуемые от TurtleScreen¶
Закрыть окно с туртлеграфикой.
Привязать метод bye() к щелчкам мыши по экрану.
turtle. setup ( width=_CFG[«width»], height=_CFG[«height»], startx=_CFG[«leftright»], starty=_CFG[«topbottom»] ) ¶
turtle. title ( titlestring ) ¶
Параметры: | titlestring – строка, которая показана в строке заголовка черепахи графического окна |
---|
Установить заголовок окна черепахи на titlestring.
Общественные классы¶
Создать черепаху. У черепахи есть все методы, описанные выше как «методы 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) должна соответствовать следующей спецификации:
Класс двумерных векторов, используемый в качестве вспомогательного класса для реализации графики черепахи. Может быть также полезен для черепашьих графических программ. Унаследован от кортежа, поэтому вектор является кортежем!
Предоставляет (для a, векторов b, числа k):
Справка и настройка¶
Как пользоваться помощью¶
Публичные методы классов Screen и Turtle подробно документируются с помощью докстрингов. Таким образом, они могут использоваться как онлайн-справки через справочные средства Python:
При использовании IDLE в подсказках отображаются сигнатуры и первые строки докстрингов типизированных вызовов функций/методов.
Вызов help() по методам или функциям отображает докстринги:
У строк документации функций, производных от методов, изменённая форма:
Измененные строки документации создаются автоматически вместе с определениями функций, производными от методов во время импорта.
Перевод докстрингов на различные языки¶
Существует утилита для создания словаря, ключами которого являются имена методов, а значениями — строки документации общедоступных методов классов Screen и Turtle.
turtle. write_docstringdict ( filename=»turtle_docstringdict» ) ¶
Параметры: | filename – строка, используемая как имя файла |
---|
Если в файле turtle.cfg есть соответствующая запись, этот словарь будет прочитан во время импорта и заменит исходные английские докстринги.
Руководство по настройке Screen и Turtles¶
Встроенная конфигурация по умолчанию имитирует внешний вид и поведение старого модуля turtle, чтобы сохранить наилучшую совместимость с ним.
Если вы хотите использовать другую конфигурацию, которая лучше отражает особенности этого модуля или лучше соответствует вашим потребностям, например, для использования в классе, вы можете подготовить файл конфигурации turtle.cfg который будет прочитан во время импорта и изменить конфигурацию в соответствии с его настройками.
Встроенная конфигурация будет соответствовать следующей конфигурации turtle.cfg:
Краткое объяснение выбранных записей:
turtledemo — Демонстрационные сценарии¶
Пакет turtledemo включает набор демонстрационных сценариев. Эти сценарии можно запускать и просматривать с помощью предоставленного демонстрационного средства просмотра следующим образом:
Кроме того, можно запускать демонстрационные сценарии по отдельности. Например: