Как изменить размер черепашки python

Графика черепашка в питон python. Как рисовать графические фигуры с помощью модуля turtle

Модуль графика Turtle в Python Питон.

В этом уроке мы разберём графику в питон  Python с помощью модуля Turtle черепашка. Turtle это модуль для Питон, позволяющий создавать графические объекты, риснуки в специальном окне. Модуль Turtle можно использовать для создания игр на Питоне.
Чтобы начать работу с модулем, нужно ввести объект Turtle()
t = Turtle()
Далее нужно ввести окно для графических объектов в Питон, в котором мы будем проводить все действия. Чтобы задать окно нужного размера в модуле turtle используется команда t.screen.setup(x, y), где x и y – ширина и высота окна в пикселях. В этом уроке мы введём окно размером 800×800 пикселей.
t.screen.setup(800, 800)
Чтобы программа с модулем turtle на Python работала корректно, в самом конце программы всегда нужно прописывать две команды.
t.screen.exitonclick()
t.screen.mainloop()

С помощью команды t.screen.exitonclick() программа на Python реагирует на нажатие кнопки мыши после исполнения программы. Если пользователь нажмёт на левую кнопку мыши, пока курсор находится в окне для графики модуля turtle, то окно закроется. t.screen.mainloop() останавливает выполнение программы.
Запустив программу, вы увидите окно для графики с «черепашкой» по центру.

Начало координат в окне для графики модуля turtle находится в центре окна. Положительное направление оси X определяется слева направо, положительное направление оси Y определяется снизу вверх, чем больше X, тем правее черепашка, чем больше Y, тем выше черепашка.
Рисунки на экране появляются с помощью перемещения «черепашки» в окне для графики модуля turtle, черепашка рисует линию
Чтобы черепашка в окне для графики модуля turtle в Питоне двигалась вперёд, используется команда t.fd(x), где x – количество пикселей, на которое сдвигается черепашка. Для движения назад используется команда t.bk(x). Для передвижения черепашки в заданую точку использовать координаты  t.goto(x, y), где x и y – координаты точки, в которую должна переместиться черепашка.
Пример программы на python рисование линии с помощью черепашки
from turtle import *
t = Turtle()
t.screen.setup(800, 800)
t.fd(200)
t.screen.exitonclick()
t.screen.mainloop()


При движении черепашка из модуля turtle в Питоне рисует линию на своей траектории. Чтобы черепашка двигалась без отображения линии, нужно использовать команду t.up(). Чтобы черепашка опять рисовала линию по своей траектории, используйте команду t.down().
Пример. Черепашка рисует пунктирную линию.
from turtle import *
t = Turtle()
t.screen.setup(800, 800)
for i in range(20):
    t.fd(8)
    t.up()
    t.fd(8)
    t.down()
t.screen.exitonclick()
t.screen.mainloop()

В модуле turtle в Python черепашка может рисовать не только прямые линии. Черепашку можно поворачивать, используя команды t.left(x) (поворачивает черепашку влево) и t.right(x) (поворот вправо), где x – угол поворота в градусах.
Пример. Черепашка рисует прямоугольник.
from turtle import *
t = Turtle()
t.screen.setup(800, 800)
def rectangle(w, h):
    for i in range(2):
        t.left(90)
        t.fd(h)
        t.left(90)
        t.fd(w)        
rectangle(320, 200)
t.screen.exitonclick()
t.screen.mainloop()


Для поворота черепашки в Питоне в модуле turtle в определённую сторону используется команда модуля turtle t.setheading(x), где x – угол поворота в градусах относительно начального положения черепашки при запуске программы. Если вы введёте в эту команду значение параметра 90, то черепашка повернётся вверх, 180 – повернётся налево, 270 – повернётся вниз, 360 или 0 – повернётся направо.
С помощью черепашки в модуле turtle можно рисовать окружности. Для этого используется команда t.circle(r, ϕ), где r – радиус круга, ϕ – часть окружности, которую мы рисуем, в градусах. При значении ϕ в 180 градусов черепашка в Питоне нарисует полуокружность, при 360 градусах нарисует полную окружность.
Пример программы на Python в которой с помощью черепашки рисуется квадрат и вписанная в него окружность
from turtle import *
t = Turtle()
t.screen.setup(800, 800)
def sq_cr(side):
    for i in range(4):
        t.left(90)
        t.fd(side)
    t.bk(side / 2)
    t.circle(side / 2, 360)
    t.left(180)
    t.circle(side / 2, 360)
sq_cr(250)
t.screen.exitonclick()
t.screen.mainloop()


Модуль turtle в Питоне позволяет рисовать точки. Для этого используется команда t.dot(r, color), где r – радиус точки в пикселях, color – цвет, которым будет рисоваться точка.
Пример. Программа рисует круг с заданным количеством точек на нём. У точек и у круга можно изменять радиус.
from turtle import *
t = Turtle()
t.screen.setup(800, 800)
def circ(d, r, rBig):
    for i in range(d):
        t.circle(rBig, 360 / d)
        t.dot(r, «red»)
t.up()
t.goto(350, 0)
t.setheading(90)
t.down()
circ(45, 10, 350)
t.screen.exitonclick()
t.screen.mainloop()


В модуле turtle в Python есть возможность рисовать закрашенные фигуры. Для закрашивания фигуры в модуле turtle используется команда t.begin_fill(). Все нарисованные фигуры будут заливаться цветом черепашки. Если вы хотите поставить другой цвет заливки, но оставить тот же цвет черепашки, пропишите команду t.fillcolor(«цвет»), в кавычках пишется цвет, которым нужно заливать фигуры. Чтобы черепашка перестала заливать фигуры, нужно написать t.end_fill().
Пример. Программа рисует волны, закрашивается только верхняя часть этих волн.
from turtle import *
t = Turtle()
t.screen.setup(800, 800)
t.up()
t.goto(-450, 0)
t.down()
t.setheading(270)
for i in range(5):
    t.circle(50, 180)
    t.begin_fill()
    t.circle(-50, 180)
    t.end_fill() 
t.screen.exitonclick()
t.screen.mainloop()

В окне для графики модуля turtle Питон возможно рисовать текст. Для отображения текста в модуле turtle используется команда t.write() 
t.write(text, move, align, font = (fontname, fontsize, fontstyle))
В параметр text команды t.write() пишется текст, который будет отображаться в окне для графики turtle Python. Текст пишется в кавычках.
Параметр move принимает только логические значения (True, False), этот параметр отвечает за то, появится ли анимация черепашки, после отображения текста. В анимации черепашка подчёркивает написанный текст.
move = True

move = False


align принимает значения «left», «right», «center», этот параметр отвечает за положение текста относительно черепашки. Все значения пишутся в кавычках. Все варианты параметра align показаны на картинках ниже с параметром move = False. Для сравнения посмотрите на положение черепашки относительно текста в каждом варианте.
align = “left”


align = “right”


align = ”center”


Параметр font модуля turtle в Питоне принимает значения fontname, fontsize, fontstyle. В параметре fontname задается название шрифта в кавычках, fontsize отвечает за размер шрифта, fontstyle отвечает за стиль текста. Стиль текста пишется в кавычках. Параметр fontstyle имеет значения «normal» для обычного текста, «bold» полужирного текста, «italic» курсивного текста, «bold italic» полужирного курсивного текста.
В модуле turtle в Питоне можно изменять саму черепашку, её размер и цвет.
Чтобы изменить форму черепашки, используйте команду t.shape(«»), в кавычках указывается форма черепашки в кавычках. В модуле turtle существуют такие формы черепашки, как «arrow», «circle», «square», «triangle», «turtle», «classic». Например, если вы хотите черепашку в форме квадрата, напишите команду t.shape(“square”).
Размер черепашки можно изменить с помощью команды t.shapesize(n), где n – размер черепашки.
Если вы хотите, чтобы черепашка не показывалась на экране, используйте команду t.hideturtle(). Чтобы черепашка опять показывалась, используйте команду t.showturtle().
Черепашка в модуле turtle в Питоне может оставлять след. Для этого используйте t.stamp(). После выполнения этой команды в окне для графики в месте, на котором была черепашка, останется рисунок этой черепашки.
Пример программы на python в которой черепашка оставляет след синего цвета, затем рисует дугу.
from turtle import *
t = Turtle()
t.screen.setup(800, 800)
t.shape(«turtle»)
t.color(«blue»)
t.stamp()
t.color(«black»)
t.up()
t.fd(50)
t.down()
t.circle(200, 70)
t.screen.exitonclick()
t.screen.mainloop()


Ширину линии, рисуемой черепашкой из модуля turtle в Python, можно изменить. Для этого используется команда t.pensize(n), n – ширина линии. По умолчанию ширина линии равна 1.
Ниже показано сравнение линий с шириной 1 и шириной 5.


Если с помощью модуля turtle в Питоне вы создали большой рисунок, то черепашка будет рисовать его слишком долго. Чтобы ускорить черепашку, используйте команду t.speed(n), n – скорость черепашки. n должно быть целым числом больше или равным нулю. Ноль – самая большая скорость, доступная для использования.
Менять можно не только черепашку из модуля turtle и линию, но и некоторые свойства окна для графики в Python.
Чтобы изменить цвет фона окна для графики, используется команда t.screen.bgcolor(«»), в кавычках пишется цвет заднего фона.

Пример. Задаём оранжевый цвет заднего фона.
from turtle import *
t = Turtle()
t.screen.setup(800, 800)
t.screen.bgcolor(«orange»)
t.screen.exitonclick()
t.screen.mainloop()


Чтобы очистить окно от всего, что было нарисовано черепашкой, используйте команду t.clear(). Команда t.reset() не только очищает экран от рисунков, но и перемещает черепашку в центр.

Вернуться к содержанию Следующая тема Работа с файлами в питон

Полезно почитать по теме графика в python
Закрашенные фигуры в turtle Python
Графика в python
Анимация графики в python
Пример использования Turtle

Поделиться:

Размеры и цвет фона, очистка холста/экрана, пользовательские координаты.

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

Содержание:

  • turtle.bgcolor() устанавливает/возвращает цвет фона холста,
  • turtle.bgpic() устанавливает/возвращает фоновое изображение холста,
  • turtle.clear() удаляет рисунки всех перьев с холста,
  • turtle.clearscreen() удаляет рисунки всех перьев с холста,
  • turtle.reset() возвращает все перья на холсте в исходное состояние,
  • turtle.resetscreen() возвращает все перья на холсте в исходное состояние,
  • turtle.screensize() устанавливает/возвращает текущий размер холста,
  • turtle.setworldcoordinates() создание пользовательской системы координат.

turtle.bgcolor(*args):

Метод turtle.bgcolor() устанавливает или возвращает цвет фона холста TurtleScreen.

Аргумент args: строка c цветом (например 'blue') или три числа в диапазоне 0..colormode режим или тройной кортеж таких чисел.

>>> import turtle
>>> screen = turtle.Screen()
>>> screen.bgcolor("yellow")
>>> screen.bgcolor()
# 'yellow'
>>> screen.bgcolor("#800080")
>>> screen.bgcolor()
# (128.0, 0.0, 128.0)

turtle.bgpic(picname=None):

Метод turtle.bgpic() устанавливает фоновое изображение или возвращает имя текущего фонового изображения.

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

Аргумент picname – строка, имя gif-файла или "nopic", или None

>>> import turtle
>>> screen = turtle.Screen()
>>> screen.bgpic()
# 'nopic'
>>> screen.bgpic("landscape.gif")
>>> screen.bgpic()
"landscape.gif"

turtle.clearscreen(),
screen.clear():

Методы turtle.clear() и turtle.clearscreen() удаляет все рисунки и всех перьев с экрана холста. Сбрасывает теперь пустой экран в исходное состояние: белый фон, без фонового изображения, без привязок событий.

Примечание

. этот метод холста TurtleScreen доступен как глобальная функция только под именем turtle.clearscreen(). Глобальная функция turtle.clear() отличается от метода TurtleScreen.clear().

turtle.reset(),
turtle.resetscreen():

Методы turtle.reset() и turtle.resetscreen() возвращает все перья на холсте/экране в исходное состояние.

Примечание

. этот метод холста TurtleScreen доступен как глобальная функция только под именем turtle.resetscreen(). Глобальная функция turtle.reset() отличается от метода объекта TurtleScreen.reset().

turtle.screensize(canvwidth=None, canvheight=None, bg=None):

Метод turtle.screensize() возвращает текущее значение (ширина холста, высота холста), если аргументы не указаны. В противном случае изменяет размер холста.

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

  • canvwidth: положительное целое число, новая ширина холста в пикселях.
  • canvheight: положительное целое число, новая высота холста в пикселях.
  • bg: новый цвет фона, строка означающая цвет (например 'blue') или кортеж RGB (например (255, 255, 255)).
>>> import turtle
>>> screen = turtle.Screen()
>>> screen.screensize()
# (400, 300)
>>> screen.screensize(2000,1500)
>>> screen.screensize()
# (2000, 1500)

Например, можно вычислить «сбежавшее перо» за пределы холста ;-)

turtle.setworldcoordinates(llx, lly, urx, ury):

Метод turtle.setworldcoordinates() настраивает пользовательскую систему координат и при необходимости переключается в режим 'word'.

Этот метод выполняет screen.reset(). Если режим режим 'word' уже активен, то все чертежи перерисовываются в соответствии с новыми координатами.

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

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

>>> import turtle
>>> screen = turtle.Screen()
>>> screen.reset()
>>> screen.setworldcoordinates(-50,-7.5,50,7.5)
>>> pen = turtle.Turtle()
>>> for _ in range(72):
...     pen.left(10)
...
>>> for _ in range(8):
...     # правильный восьмиугольник
...     pen.left(45)
...     pen.fd(2)

In this Python Turtle tutorial, we will learn How to control turtle size in Python Turtle and we will also cover different examples related to Turtle size. And, we will cover these topics.

  • Python turtle size
  • Python turtle size in pixel
  • Python turtle screen size
  • Python turtle pen size
  • Python turtle font size
  • Python turtle image size
  • Python turtle dot size

In this section, we will learn about how to control or change turtle size in Python turtle.

The default size of the turtle is 20 Pixels we can also change the size of the turtle according to our requirement. If we want a large turtle then, we increase the size of the turtle. If we want a small turtle then, we decrease the turtle size.

Code:

In the following code, we will import the turtle module from turtle import *, import turtle.

  • We will create a screen object by using ws=turtle.screen().
  • turtle.setup(500,500) is used to set the size and position of the main window.
  • ws.title(“Python Guides”) is used to set the title of the window.
  • ws.bgcolor(“black”) is used to give the “black” background-color.
  • incr = tuple([2 * num for num in size]) is used to increase the size of turtle.
from turtle import *
import turtle
turtle.setup(500,500)
ws = turtle.Screen()
ws.title("Python Guides")
ws.bgcolor("black")

tur = turtle.Turtle()
tur.shape("turtle")
tur.color("cyan")
tur.left(90)

def increaseSize():
    size = tur.turtlesize()
    incr = tuple([2 * num for num in size])
    tur.turtlesize(incr) #this is where the error occurs

ws.onkey(increaseSize, "x")
ws.listen()
turtle.done()

Output:

After running the above code, we get the following output in which we can see the Turtle is placed on the screen with its new size.

Python turtle size
Python turtle size Output

Also, read: Python Turtle Commands

Python turtle size in pixel

In this section, we will learn about turtle pixel size in python turtles.

Before moving forward, we should have a piece of knowledge about Pixel. A pixel is a unit of a digital image or we can say that a small dot or square builds up an image on the screen and also resize the image pixel size.

Code:

In the following code, we will import the turtle module from turtle import *, import turtle.

  • We will create a screen object by using wn= turtle.Screen().
  • tur.speed(0) is used to give the speed to the turtle and 0 is the fastest speed.
  • tur.forward(20) is used to move the turtle in the forwarding direction.
  • tur.begin_fill() is used before drawing the shape to be filled.
  • tur.end_fill() is used for the ending of filling of the color.
from turtle import *
import turtle
wn=turtle.Screen()
wn.bgcolor("Black")
tur=turtle.Turtle()
tur.speed(0)
tur.pensize(4)
def square():
  for i in range(4):
    tur.forward(20)
    tur.right(90)


def square_box():
  for i in range(4):
   tur.begin_fill()
   square()
   tur.color("red")
   tur.end_fill()
   tur.color("Black")
   tur.forward(20)   

square_box()

tur.penup()
tur.forward(100)
tur.pendown()

turtle.done()

Output:

After running the above code, we get the following output in which we can see the turtle size in pixel. We can also resize the size of the pixel by simply increasing or decreasing the size.

Python turtle size in pixel
Python turtle size in pixel Output

Read: How to Create a Snake game in Python using Turtle

Python turtle screen size

In this section, we will learn about how to customize the screen size in python turtle.

Screen size is used to resize the canvas where we draw pictures, images, shapes, etc. Screen size is used to resize the width and height of the window.

Code:

In the following code, we import a turtle module in python where we use a screensize() function which helps to resize the screen size by giving width and height to the window.

from turtle import *

import turtle
  
  

turtle.screensize(canvwidth=400, canvheight=300,
                  bg="cyan")
turtle.done()

Output:

After running the above code, we get the following output in which we see the screen with the given height and width.

Python turtle screen size
Python turtle screen size Output

Read: Python Turtle Colors + Examples

Python turtle pen size

In this section, we will learn about how to change the pen size in python turtle.

Pen size is used to set the thickness of the line. The pen is used for drawing the shapes on the screen we can set the pen size as how thick or thin the shape is drawn or the text is written.

Code:

In the following code, we will import the turtle module for drawing the shape on the screen with the help of a pen.

  • tur.color(‘cyan’) is used to give the color to the text.
  • tur.pensize(14) is used to give the size to the pen to increase or decrease the thickness of the text,shape.
from turtle import *
import turtle as tur

tur.color('cyan')
tur.title("Python Guides")
tur.pensize(14)
style = ('Courier',25, 'bold')
tur.write('PythonGuides', font=style, align='center')
tur.done()

Output:

After running the above code we get the following output in which we can see the text is written on the screen with the help of a pen.

Python turtle pen size
Python turtle pen size Output

Read: Python Turtle Circle

Python turtle font size

In this section, we will learn how to set the font size in Python turtle.

Font size is defined to give a size to our font that depends upon a document if it is a heading giving a large font size and writing inside the paragraph we give a small size to our text.

Code:

In the following code, we will import the turtle module. The turtle() method in python is used to make objects.

  • tur.color(‘cyan’) is used to give the color to text.
  • tur.write() is used to write the text on the screen.
  • font=(“Times New Roman”,28,”bold”) is used to give font to text.
from turtle import *
import turtle as tur

tur.color('cyan')
tur.title("Python Guides")
tur.pensize(14)

tur.write('Hello Guides', font=("Times New Roman",28,"bold"), align='center')
tur.done()

Output:

After running the above code we get the following output in which we can see the text is written on the screen with a suitable font size.

Python turtle font size
Python turtle font size Output

Read: Python Turtle Speed With Examples

Python turtle image size

In this section, we will learn about the image size in Python turtle.

The size of the image is automatically adjusted according to the size of the window.

Code:

In the following code, we import the turtle module that is used to make objects.

turtle.addshape(“Python turtle image size.gif”) is used to add images accordingly to the shape of the window.

tur.resizemode(“auto”) is used to automatically resize the image .

import turtle

turtle.addshape("Python turtle image size.gif")

tur = turtle.Turtle()

tur.shape("Python turtle image size.gif")

tur.resizemode("auto")
tur.pensize(15)
tur.stamp()

turtle.exitonclick()

Output:

After running the above code we get the following output in which we can see the image is adjusted automatically on the screen.

Python turtle image size
Python turtle image size Output

Read: Python Turtle Art

Python turtle dot size

In this section, we will learn about how to set the dot size in Python turtle.

Dot is created with the help of tur.dot() function we can resize this dot simply by increasing or decreasing the value put in the argument.

Code:

In the following code, we import the turtle module from turtle import *, import turtle as tur. This turtle() method is used to make objects.

  • tur.forward(100) is used to move the turtle in the forwarding direction.
  • tur.dot(40, “cyan”) is used to draw a dot after moving forward direction.
from turtle import *
import turtle as tur
  
  
# motion
tur.forward(100)
  
# dot with
# 60 diameter
# yellow color
tur.dot(40, "cyan")
tur.done()

Output:

After running the above code we get the following output in which we can see an arrow with a colored dot is placed on the screen.

Python turtle dot size
Python turtle dot size Output

Also, take a look at some more tutorials related to Python turtle.

  • Python Turtle Write Function
  • Python Turtle Font
  • Replit Python Turtle
  • Draw colored filled shapes using Turtle
  • Python Turtle Square
  • Python turtle onclick

So, in this tutorial, we discussed Python Turtle Size and we have also covered different examples related to its implementation. Here is the list of examples that we have covered.

  • Python turtle size
  • Python turtle size in pixel
  • Python turtle screen size
  • Python turtle pen size
  • Python turtle font size
  • Python turtle image size
  • Python turtle dot size

Bijay Kumar MVP

Python is one of the most popular languages in the United States of America. I have been working with Python for a long time and I have expertise in working with various libraries on Tkinter, Pandas, NumPy, Turtle, Django, Matplotlib, Tensorflow, Scipy, Scikit-Learn, etc… I have experience in working with various clients in countries like United States, Canada, United Kingdom, Australia, New Zealand, etc. Check out my profile.

Исходный код: Lib/turtle.py.


Введение¶

Черепашья графика — популярный способ познакомить детей с программированием. Она была частью оригинального языка программирования Logo, разработанного Уолли Фурзейгом, Сеймуром Пейпертом и Синтией Соломон в 1967 году.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Примечание

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

Обзор доступных методов черепахи и скрининга¶

Черепашьи методы¶

Движение черепахи
Двигайтесь и рисуйте
Расскажите о состоянии Черепахи
Настройка и измерение
Управление ручкой
Состояние рисунка
Управление цветом
Наполнение
Больше контроля над рисованием
Состояние черепахи
Видимость
Внешний вид
Использование событий
Специальные методы черепахи

Методы TurtleScreen/Экран¶

Управление окнами
Управление анимацией
Использование событий экрана
Настройки и специальные методы
Методы ввода
Методы, специфичные для Screen

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

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

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

turtle.forward(distance)
turtle.fd(distance)
Parameters

distance – число (целое или плавающее)

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

>>> turtle.position()
(0.00,0.00)
>>> turtle.forward(25)
>>> turtle.position()
(25.00,0.00)
>>> turtle.forward(-75)
>>> turtle.position()
(-50.00,0.00)
turtle.back(distance)
turtle.bk(distance)
turtle.backward(distance)
Parameters

distance – число

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

>>> turtle.position()
(0.00,0.00)
>>> turtle.backward(30)
>>> turtle.position()
(-30.00,0.00)
turtle.right(angle)
turtle.rt(angle)
Parameters

angle – число (целое или плавающее)

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

>>> turtle.heading()
22.0
>>> turtle.right(45)
>>> turtle.heading()
337.0
turtle.left(angle)
turtle.lt(angle)
Parameters

angle – число (целое или плавающее)

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

>>> turtle.heading()
22.0
>>> turtle.left(45)
>>> turtle.heading()
67.0
turtle.goto(x, y=None)
turtle.setpos(x, y=None)
turtle.setposition(x, y=None)
Parameters
  • x – число или пара/вектор чисел

  • y – число или None

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

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

 >>> tp = turtle.pos()
 >>> tp
 (0.00,0.00)
 >>> turtle.setpos(60,30)
 >>> turtle.pos()
 (60.00,30.00)
 >>> turtle.setpos((20,80))
 >>> turtle.pos()
 (20.00,80.00)
 >>> turtle.setpos(tp)
 >>> turtle.pos()
 (0.00,0.00)
turtle.setx(x)
Parameters

x – число (целое или плавающее)

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

>>> turtle.position()
(0.00,240.00)
>>> turtle.setx(10)
>>> turtle.position()
(10.00,240.00)
turtle.sety(y)
Parameters

y – число (целое или плавающее)

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

>>> turtle.position()
(0.00,40.00)
>>> turtle.sety(-10)
>>> turtle.position()
(0.00,-10.00)
turtle.setheading(to_angle)
turtle.seth(to_angle)
Parameters

to_angle – число (целое или плавающее)

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

стандартный режим

режим логотипа

0 — восток

0 — север

90 — север

90 — восток

180 — запад

180 — юг

270 — юг

270 — запад

>>> turtle.setheading(90)
>>> turtle.heading()
90.0
turtle.home()

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

>>> turtle.heading()
90.0
>>> turtle.position()
(0.00,-10.00)
>>> turtle.home()
>>> turtle.position()
(0.00,0.00)
>>> turtle.heading()
0.0
turtle.circle(radius, extent=None, steps=None)
Parameters
  • radius – число

  • extent – число (или None)

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

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

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

>>> turtle.home()
>>> turtle.position()
(0.00,0.00)
>>> turtle.heading()
0.0
>>> turtle.circle(50)
>>> turtle.position()
(-0.00,0.00)
>>> turtle.heading()
0.0
>>> turtle.circle(120, 180)  # draw a semicircle
>>> turtle.position()
(0.00,240.00)
>>> turtle.heading()
180.0
turtle.dot(size=None, *color)
Parameters
  • size – целое число >= 1 (если задано)

  • color – строка цвета или числовой кортеж цветов

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

>>> turtle.home()
>>> turtle.dot()
>>> turtle.fd(50); turtle.dot(20, "blue"); turtle.fd(50)
>>> turtle.position()
(100.00,-0.00)
>>> turtle.heading()
0.0
turtle.stamp()

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

>>> turtle.color("blue")
>>> turtle.stamp()
11
>>> turtle.fd(50)
turtle.clearstamp(stampid)
Parameters

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

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

>>> turtle.position()
(150.00,-0.00)
>>> turtle.color("blue")
>>> astamp = turtle.stamp()
>>> turtle.fd(50)
>>> turtle.position()
(200.00,-0.00)
>>> turtle.clearstamp(astamp)
>>> turtle.position()
(200.00,-0.00)
turtle.clearstamps(n=None)
Parameters

n – целое число (или None)

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

>>> for i in range(8):
...     turtle.stamp(); turtle.fd(30)
13
14
15
16
17
18
19
20
>>> turtle.clearstamps(2)
>>> turtle.clearstamps(-2)
>>> turtle.clearstamps()
turtle.undo()

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

>>> for i in range(4):
...     turtle.fd(50); turtle.lt(80)
...
>>> for i in range(8):
...     turtle.undo()
turtle.speed(speed=None)
Parameters

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

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

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

  • «Самый быстрый»: 0

  • «быстро»: 10

  • «нормальный»: 6

  • «медленно»: 3

  • «самый медленный»: 1

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

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

>>> turtle.speed()
3
>>> turtle.speed('normal')
>>> turtle.speed()
6
>>> turtle.speed(9)
>>> turtle.speed()
9

Расскажите о состоянии Черепахи¶

turtle.position()
turtle.pos()

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

>>> turtle.pos()
(440.00,-0.00)
turtle.towards(x, y=None)
Parameters
  • x – число или пара/вектор чисел или экземпляр черепахи

  • y – число, если x — число, иначе None.

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

>>> turtle.goto(10, 10)
>>> turtle.towards(0,0)
225.0
turtle.xcor()

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

>>> turtle.home()
>>> turtle.left(50)
>>> turtle.forward(100)
>>> turtle.pos()
(64.28,76.60)
>>> print(round(turtle.xcor(), 5))
64.27876
turtle.ycor()

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

>>> turtle.home()
>>> turtle.left(60)
>>> turtle.forward(100)
>>> print(turtle.pos())
(50.00,86.60)
>>> print(round(turtle.ycor(), 5))
86.60254
turtle.heading()

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

>>> turtle.home()
>>> turtle.left(67)
>>> turtle.heading()
67.0
turtle.distance(x, y=None)
Parameters
  • x – число или пара/вектор чисел или экземпляр черепахи

  • y – число, если x — число, иначе None.

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

>>> turtle.home()
>>> turtle.distance(30,40)
50.0
>>> turtle.distance((30,40))
50.0
>>> joe = Turtle()
>>> joe.forward(77)
>>> turtle.distance(joe)
77.0

Настройки для измерения¶

turtle.degrees(fullcircle=360.0)
Parameters

fullcircle – число

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

>>> turtle.home()
>>> turtle.left(90)
>>> turtle.heading()
90.0

Change angle measurement unit to grad (also known as gon,
grade, or gradian and equals 1/100-th of the right angle.)
>>> turtle.degrees(400.0)
>>> turtle.heading()
100.0
>>> turtle.degrees(360)
>>> turtle.heading()
90.0
turtle.radians()

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

>>> turtle.home()
>>> turtle.left(90)
>>> turtle.heading()
90.0
>>> turtle.radians()
>>> turtle.heading()
1.5707963267948966

Управление ручкой¶

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

turtle.pendown()
turtle.pd()
turtle.down()

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

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

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

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

width – положительное число

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

>>> turtle.pensize()
1
>>> turtle.pensize(10)   # from here on lines of width 10 are drawn
turtle.pen(pen=None, **pendict)
Parameters
  • pen – словарь с некоторыми или всеми перечисленными ниже ключами

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

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

  • «показано»: Правда/Ложь

  • «пендаун»: Правда/Ложь

  • «pencolor»: цвет-строка или цвет-кортеж

  • «fillcolor»: строка цвета или кортеж цветов

  • «размер ручки»: положительное число

  • «скорость»: число в диапазоне 0…10

  • «resizemode»: «auto» или «user» или «noresize».

  • «коэффициент растяжения»: (положительное число, положительное число)

  • «контур»: положительное число

  • «наклон»: число

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

>>> turtle.pen(fillcolor="black", pencolor="red", pensize=10)
>>> sorted(turtle.pen().items())
[('fillcolor', 'black'), ('outline', 1), ('pencolor', 'red'),
 ('pendown', True), ('pensize', 10), ('resizemode', 'noresize'),
 ('shearfactor', 0.0), ('shown', True), ('speed', 9),
 ('stretchfactor', (1.0, 1.0)), ('tilt', 0.0)]
>>> penstate=turtle.pen()
>>> turtle.color("yellow", "")
>>> turtle.penup()
>>> sorted(turtle.pen().items())[:3]
[('fillcolor', ''), ('outline', 1), ('pencolor', 'yellow')]
>>> turtle.pen(penstate, fillcolor="green")
>>> sorted(turtle.pen().items())[:3]
[('fillcolor', 'green'), ('outline', 1), ('pencolor', 'red')]
turtle.isdown()

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

>>> turtle.penup()
>>> turtle.isdown()
False
>>> turtle.pendown()
>>> turtle.isdown()
True

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

turtle.pencolor(*args)

Возвращает или устанавливает цвет карандаша.

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

pencolor()

Возвращает текущий цвет карандаша в виде строки спецификации цвета или в виде кортежа (см. пример). Может использоваться в качестве входных данных для другого вызова color/pencolor/fillcolor.

pencolor(colorstring)

Установите pencolor в colorstring, который является строкой спецификации цвета Tk, такой как "red", "yellow" или "#33cc8c".

pencolor((r, g, b))

Установите pencolor на цвет RGB, представленный кортежем из r, g и b. Каждый из r, g и b должен находиться в диапазоне 0…colormode, где colormode равно 1.0 или 255 (см. colormode()).

pencolor(r, g, b)

Установите pencolor на цвет RGB, представленный r, g и b. Каждый из r, g и b должен находиться в диапазоне 0…colormode.

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

 >>> colormode()
 1.0
 >>> turtle.pencolor()
 'red'
 >>> turtle.pencolor("brown")
 >>> turtle.pencolor()
 'brown'
 >>> tup = (0.2, 0.8, 0.55)
 >>> turtle.pencolor(tup)
 >>> turtle.pencolor()
 (0.2, 0.8, 0.5490196078431373)
 >>> colormode(255)
 >>> turtle.pencolor()
 (51.0, 204.0, 140.0)
 >>> turtle.pencolor('#32c18f')
 >>> turtle.pencolor()
 (50.0, 193.0, 143.0)
turtle.fillcolor(*args)

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

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

fillcolor()

Возвращает текущий fillcolor в виде строки спецификации цвета, возможно, в формате кортежа (см. пример). Может использоваться в качестве входных данных для другого вызова color/pencolor/fillcolor.

fillcolor(colorstring)

Установите fillcolor в colorstring, который является строкой спецификации цвета Tk, такой как "red", "yellow" или "#33cc8c".

fillcolor((r, g, b))

Установите fillcolor в цвет RGB, представленный кортежем из r, g и b. Каждый из r, g и b должен находиться в диапазоне 0…colormode, где colormode равно 1.0 или 255 (см. colormode()).

fillcolor(r, g, b)

Установите fillcolor в цвет RGB, представленный r, g и b. Каждый из r, g и b должен находиться в диапазоне 0…colormode.

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

 >>> turtle.fillcolor("violet")
 >>> turtle.fillcolor()
 'violet'
 >>> turtle.pencolor()
 (50.0, 193.0, 143.0)
 >>> turtle.fillcolor((50, 193, 143))  # Integers, not floats
 >>> turtle.fillcolor()
 (50.0, 193.0, 143.0)
 >>> turtle.fillcolor('#ffffff')
 >>> turtle.fillcolor()
 (255.0, 255.0, 255.0)
turtle.color(*args)

Возвращает или устанавливает цвет карандаша и цвет заливки.

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

color()

Возвращает текущий цвет карандаша и текущий цвет заливки в виде пары строк спецификации цвета или кортежей, возвращаемых командами pencolor() и fillcolor().

color(colorstring), color((r,g,b)), color(r,g,b)

Вводится как в pencolor(), устанавливает оба цвета, fillcolor и pencolor, в заданное значение.

color(colorstring1, colorstring2), color((r1,g1,b1), (r2,g2,b2))

Эквивалентно pencolor(colorstring1) и fillcolor(colorstring2) и аналогично, если используется другой формат ввода.

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

 >>> turtle.color("red", "green")
 >>> turtle.color()
 ('red', 'green')
 >>> color("#285078", "#a0c8f0")
 >>> color()
 ((40.0, 80.0, 120.0), (160.0, 200.0, 240.0))

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

Наполнение¶

turtle.filling()

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

 >>> turtle.begin_fill()
 >>> if turtle.filling():
 ...    turtle.pensize(5)
 ... else:
 ...    turtle.pensize(3)
turtle.begin_fill()

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

turtle.end_fill()

Заполните фигуру, нарисованную после последнего вызова команды begin_fill().

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

>>> turtle.color("black", "red")
>>> turtle.begin_fill()
>>> turtle.circle(80)
>>> turtle.end_fill()

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

turtle.reset()

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

>>> turtle.goto(0,-22)
>>> turtle.left(100)
>>> turtle.position()
(0.00,-22.00)
>>> turtle.heading()
100.0
>>> turtle.reset()
>>> turtle.position()
(0.00,0.00)
>>> turtle.heading()
0.0
turtle.clear()

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

turtle.write(arg, move=False, align=‘left’, font=(‘Arial’, 8, ‘normal’))
Parameters
  • arg – объект, который будет записан на экран TurtleScreen

  • move – Правда/Ложь

  • align – одна из строк «left», «center» или right».

  • font – тройка (имя шрифта, размер шрифта, тип шрифта)

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

>>> turtle.write("Home = ", True, align="center")
>>> turtle.write((0,0), True)

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

Видимость¶

turtle.hideturtle()
turtle.ht()

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

turtle.showturtle()
turtle.st()

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

turtle.isvisible()

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

>>> turtle.hideturtle()
>>> turtle.isvisible()
False
>>> turtle.showturtle()
>>> turtle.isvisible()
True

Внешний вид¶

turtle.shape(name=None)
Parameters

name – строка, которая является действительным именем формы

Устанавливает форму черепахи в форму с заданным именем или, если имя не задано, возвращает имя текущей формы. Фигура с именем должна существовать в словаре фигур экрана TurtleScreen. Изначально существуют следующие многоугольные фигуры: «стрелка», «черепаха», «круг», «квадрат», «треугольник», «классика». О том, как работать с фигурами, читайте в методе экрана register_shape().

>>> turtle.shape()
'classic'
>>> turtle.shape("turtle")
>>> turtle.shape()
'turtle'
turtle.resizemode(rmode=None)
Parameters

rmode – одна из строк «auto», «user», «noresize»

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

  • «auto»: адаптирует внешний вид черепашки в соответствии со значением pensize.

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

  • «noresize»: адаптация внешнего вида черепахи не происходит.

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

>>> turtle.resizemode()
'noresize'
>>> turtle.resizemode("auto")
>>> turtle.resizemode()
'auto'
turtle.shapesize(stretch_wid=None, stretch_len=None, outline=None)
turtle.turtlesize(stretch_wid=None, stretch_len=None, outline=None)
Parameters
  • stretch_wid – положительное число

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

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

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

>>> turtle.shapesize()
(1.0, 1.0, 1)
>>> turtle.resizemode("user")
>>> turtle.shapesize(5, 5, 12)
>>> turtle.shapesize()
(5, 5, 12)
>>> turtle.shapesize(outline=8)
>>> turtle.shapesize()
(5, 5, 8)
turtle.shearfactor(shear=None)
Parameters

shear – число (необязательно)

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

 >>> turtle.shape("circle")
 >>> turtle.shapesize(5,2)
 >>> turtle.shearfactor(0.5)
 >>> turtle.shearfactor()
 0.5
turtle.tilt(angle)
Parameters

angle – число

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

>>> turtle.reset()
>>> turtle.shape("circle")
>>> turtle.shapesize(5,2)
>>> turtle.tilt(30)
>>> turtle.fd(50)
>>> turtle.tilt(30)
>>> turtle.fd(50)
turtle.settiltangle(angle)
Parameters

angle – число

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

>>> turtle.reset()
>>> turtle.shape("circle")
>>> turtle.shapesize(5,2)
>>> turtle.settiltangle(45)
>>> turtle.fd(50)
>>> turtle.settiltangle(-45)
>>> turtle.fd(50)

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

turtle.tiltangle(angle=None)
Parameters

angle – число (необязательно)

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

>>> turtle.reset()
>>> turtle.shape("circle")
>>> turtle.shapesize(5,2)
>>> turtle.tilt(45)
>>> turtle.tiltangle()
45.0
turtle.shapetransform(t11=None, t12=None, t21=None, t22=None)
Parameters
  • t11 – число (необязательно)

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

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

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

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

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

>>> turtle = Turtle()
>>> turtle.shape("square")
>>> turtle.shapesize(4,2)
>>> turtle.shearfactor(-0.5)
>>> turtle.shapetransform()
(4.0, -1.0, -0.0, 2.0)
turtle.get_shapepoly()

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

>>> turtle.shape("square")
>>> turtle.shapetransform(4, -1, 0, 2)
>>> turtle.get_shapepoly()
((50, -20), (30, 20), (-50, 20), (-30, -20))

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

turtle.onclick(fun, btn=1, add=None)
Parameters
  • fun – функция с двумя аргументами, которая будет вызвана с координатами точки щелчка на холсте

  • btn – номер кнопки мыши, по умолчанию 1 (левая кнопка мыши)

  • addTrue или False – если True, будет добавлена новая привязка, иначе она заменит прежнюю привязку

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

>>> def turn(x, y):
...     left(180)
...
>>> onclick(turn)  # Now clicking into the turtle will turn it.
>>> onclick(None)  # event-binding will be removed
turtle.onrelease(fun, btn=1, add=None)
Parameters
  • fun – функция с двумя аргументами, которая будет вызвана с координатами точки щелчка на холсте

  • btn – номер кнопки мыши, по умолчанию 1 (левая кнопка мыши)

  • addTrue или False – если True, будет добавлена новая привязка, иначе она заменит прежнюю привязку

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

>>> class MyTurtle(Turtle):
...     def glow(self,x,y):
...         self.fillcolor("red")
...     def unglow(self,x,y):
...         self.fillcolor("")
...
>>> turtle = MyTurtle()
>>> turtle.onclick(turtle.glow)     # clicking on turtle turns fillcolor red,
>>> turtle.onrelease(turtle.unglow) # releasing turns it to transparent.
turtle.ondrag(fun, btn=1, add=None)
Parameters
  • fun – функция с двумя аргументами, которая будет вызвана с координатами точки щелчка на холсте

  • btn – номер кнопки мыши, по умолчанию 1 (левая кнопка мыши)

  • addTrue или False – если True, будет добавлена новая привязка, иначе она заменит прежнюю привязку

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

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

>>> turtle.ondrag(turtle.goto)

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

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

turtle.begin_poly()

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

turtle.end_poly()

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

turtle.get_poly()

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

>>> turtle.home()
>>> turtle.begin_poly()
>>> turtle.fd(100)
>>> turtle.left(20)
>>> turtle.fd(30)
>>> turtle.left(60)
>>> turtle.fd(50)
>>> turtle.end_poly()
>>> p = turtle.get_poly()
>>> register_shape("myFavouriteShape", p)
turtle.clone()

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

>>> mick = Turtle()
>>> joe = mick.clone()
turtle.getturtle()
turtle.getpen()

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

>>> pet = getturtle()
>>> pet.fd(50)
>>> pet
<turtle.Turtle object at 0x...>
turtle.getscreen()

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

>>> ts = turtle.getscreen()
>>> ts
<turtle._Screen object at 0x...>
>>> ts.bgcolor("pink")
turtle.setundobuffer(size)
Parameters

size – целое число или None.

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

>>> turtle.setundobuffer(42)
turtle.undobufferentries()

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

>>> while undobufferentries():
...     undo()

Составные фигуры¶

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

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

  2. Добавьте к этому объекту столько компонентов, сколько необходимо, используя метод addcomponent().

    Например:

    >>> s = Shape("compound")
    >>> poly1 = ((0,0),(10,-5),(0,10),(-10,-5))
    >>> s.addcomponent(poly1, "red", "blue")
    >>> poly2 = ((0,0),(10,-5),(-10,-5))
    >>> s.addcomponent(poly2, "blue", "red")
    
  3. Теперь добавьте фигуру в список фигур экрана и используйте ее:

    >>> register_shape("myshape", s)
    >>> shape("myshape")
    

Примечание

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

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

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

Управление окнами¶

turtle.bgcolor(*args)
Parameters

args – строка цвета или три числа в диапазоне 0…colormode или 3 кортежа таких чисел

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

>>> screen.bgcolor("orange")
>>> screen.bgcolor()
'orange'
>>> screen.bgcolor("#800080")
>>> screen.bgcolor()
(128.0, 0.0, 128.0)
turtle.bgpic(picname=None)
Parameters

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

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

>>> screen.bgpic()
'nopic'
>>> screen.bgpic("landscape.gif")
>>> screen.bgpic()
"landscape.gif"
turtle.clear()

Примечание

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

turtle.clearscreen()

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

turtle.reset()

Примечание

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

turtle.resetscreen()

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

turtle.screensize(canvwidth=None, canvheight=None, bg=None)
Parameters
  • canvwidth – положительное целое число, новая ширина холста в пикселях

  • canvheight – положительное целое число, новая высота холста в пикселях

  • bg – colorstring или color-tuple, новый цвет фона

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

>>> screen.screensize()
(400, 300)
>>> screen.screensize(2000,1500)
>>> screen.screensize()
(2000, 1500)

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

turtle.setworldcoordinates(llx, lly, urx, ury)
Parameters
  • llx – число, x-координата левого нижнего угла холста

  • lly – число, y-координата левого нижнего угла холста

  • urx – число, x-координата правого верхнего угла холста

  • ury – число, y-координата правого верхнего угла холста

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

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

>>> screen.reset()
>>> screen.setworldcoordinates(-50,-7.5,50,7.5)
>>> for _ in range(72):
...     left(10)
...
>>> for _ in range(8):
...     left(45); fd(2)   # a regular octagon

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

turtle.delay(delay=None)
Parameters

delay – положительное целое число

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

Необязательный аргумент:

>>> screen.delay()
10
>>> screen.delay(5)
>>> screen.delay()
5
turtle.tracer(n=None, delay=None)
Parameters
  • n – неотрицательное целое число

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

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

>>> screen.tracer(8, 25)
>>> dist = 2
>>> for i in range(200):
...     fd(dist)
...     rt(90)
...     dist += 2
turtle.update()

Выполнить обновление TurtleScreen. Используется, когда трассировщик выключен.

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

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

turtle.listen(xdummy=None, ydummy=None)

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

turtle.onkey(fun, key)
turtle.onkeyrelease(fun, key)
Parameters
  • fun – функция без аргументов или None

  • key – строка: ключ (например, «a») или ключ-символ (например, «пробел»)

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

>>> def f():
...     fd(50)
...     lt(60)
...
>>> screen.onkey(f, "Up")
>>> screen.listen()
turtle.onkeypress(fun, key=None)
Parameters
  • fun – функция без аргументов или None

  • key – строка: ключ (например, «a») или ключ-символ (например, «пробел»)

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

>>> def f():
...     fd(50)
...
>>> screen.onkey(f, "Up")
>>> screen.listen()
turtle.onclick(fun, btn=1, add=None)
turtle.onscreenclick(fun, btn=1, add=None)
Parameters
  • fun – функция с двумя аргументами, которая будет вызвана с координатами точки щелчка на холсте

  • btn – номер кнопки мыши, по умолчанию 1 (левая кнопка мыши)

  • addTrue или False – если True, будет добавлена новая привязка, иначе она заменит прежнюю привязку

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

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

>>> screen.onclick(turtle.goto) # Subsequently clicking into the TurtleScreen will
>>>                             # make the turtle move to the clicked point.
>>> screen.onclick(None)        # remove event binding again

Примечание

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

turtle.ontimer(fun, t=0)
Parameters
  • fun – функция без аргументов

  • t – число >= 0

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

>>> running = True
>>> def f():
...     if running:
...         fd(50)
...         lt(60)
...         screen.ontimer(f, 250)
>>> f()   ### makes the turtle march around
>>> running = False
turtle.mainloop()
turtle.done()

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

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

turtle.textinput(title, prompt)
Parameters
  • title – строка

  • prompt – строка

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

>>> screen.textinput("NIM", "Name of first player:")
turtle.numinput(title, prompt, default=None, minval=None, maxval=None)
Parameters
  • title – строка

  • prompt – строка

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

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

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

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

>>> screen.numinput("Poker", "Your stakes:", 1000, minval=10, maxval=10000)

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

turtle.mode(mode=None)
Parameters

mode – одна из строк «стандарт», «логотип» или «мир»

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

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

Режим

Начальный курс черепахи

положительные углы

«стандарт»

направо (на восток)

против часовой стрелки

«логотип»

вверх (север)

по часовой стрелке

>>> mode("logo")   # resets turtle heading to north
>>> mode()
'logo'
turtle.colormode(cmode=None)
Parameters

cmode – одно из значений 1.0 или 255

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

>>> screen.colormode(1)
>>> turtle.pencolor(240, 160, 80)
Traceback (most recent call last):
     ...
TurtleGraphicsError: bad color sequence: (240, 160, 80)
>>> screen.colormode()
1.0
>>> screen.colormode(255)
>>> screen.colormode()
255
>>> turtle.pencolor(240,160,80)
turtle.getcanvas()

Возвращает Canvas этого экрана TurtleScreen. Полезно для инсайдеров, которые знают, что делать с Tkinter Canvas.

>>> cv = screen.getcanvas()
>>> cv
<turtle.ScrolledCanvas object ...>
turtle.getshapes()

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

>>> screen.getshapes()
['arrow', 'blank', 'circle', ..., 'turtle']
turtle.register_shape(name, shape=None)
turtle.addshape(name, shape=None)

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

  1. name — имя gif-файла, а shapeNone: Установите соответствующую форму изображения.

    >>> screen.register_shape("turtle.gif")
    

    Примечание

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

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

    >>> screen.register_shape("triangle", ((5,-3), (0,5), (-5,-3)))
    
  3. name — произвольная строка, а shape — объект (составной) Shape: Устанавливает соответствующую составную форму.

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

turtle.turtles()

Вернуть список черепах на экран.

>>> for turtle in screen.turtles():
...     turtle.color("red")
turtle.window_height()

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

>>> screen.window_height()
480
turtle.window_width()

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

>>> screen.window_width()
640

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

turtle.bye()

Закройте окно туртелеграфа.

turtle.exitonclick()

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

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

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

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

Parameters
  • width – если целое число, то размер в пикселях, если число с плавающей точкой, то доля экрана; по умолчанию 50% экрана

  • height – если целое число, то высота в пикселях, если число с плавающей точкой, то доля экрана; по умолчанию 75% экрана

  • startx – если положительный, начальная позиция в пикселях от левого края экрана, если отрицательный — от правого края, если None, центрирует окно по горизонтали

  • starty – если положительный, начальная позиция в пикселях от верхнего края экрана, если отрицательный — от нижнего края, если None, центрирует окно по вертикали

>>> screen.setup (width=200, height=200, startx=0, starty=0)
>>>              # sets window to 200x200 pixels, in upper left of screen
>>> screen.setup(width=.75, height=0.5, startx=None, starty=None)
>>>              # sets window to 75% of screen by 50% of screen and centers
turtle.title(titlestring)
Parameters

titlestring – строка, которая отображается в строке заголовка графического окна черепахи

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

>>> screen.title("Welcome to the turtle zoo!")

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

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

canvastkinter.Canvas, ScrolledCanvas или TurtleScreen

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

class turtle.Turtle

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

class turtle.TurtleScreen(cv)
Parameters

cv – a tkinter.Canvas

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

class turtle.Screen

Подкласс TurtleScreen, с four methods added.

class turtle.ScrolledCanvas(master)
Parameters

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

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

class turtle.Shape(type_, data)
Parameters

type_ – одна из строк «полигон», «изображение», «составной»

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

тип_

данные

«многоугольник»

кортеж полигонов, т.е. кортеж пар координат

«изображение»

изображение (в этом виде используется только внутри!)

«состав»

None (составная фигура должна быть построена с помощью метода addcomponent())

addcomponent(poly, fill, outline=None)
Parameters
  • poly – многоугольник, т.е. кортеж из пар чисел

  • fill – цвет, которым будет заполнена поли.

  • outline – цвет для контура полигона (если задан).

Пример:

>>> poly = ((0,0),(10,-5),(0,10),(-10,-5))
>>> s = Shape("compound")
>>> s.addcomponent(poly, "red", "blue")
>>> # ... add more components and then use register_shape()

См. Составные фигуры.

class turtle.Vec2D(x, y)

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

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

  • a + b сложение векторов

  • a - b вычитание вектора

  • a * b внутреннее произведение

  • k * a и a * k умножение со скаляром

  • abs(a) абсолютное значение а

  • a.rotate(angle) вращение

Помощь и настройка¶

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

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

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

  • Вызов help() на методах или функциях выводит docstrings:

    >>> help(Screen.bgcolor)
    Help on method bgcolor in module turtle:
    
    bgcolor(self, *args) unbound turtle.Screen method
        Set or return backgroundcolor of the TurtleScreen.
    
        Arguments (if given): a color string or three numbers
        in the range 0..colormode or a 3-tuple of such numbers.
    
    
          >>> screen.bgcolor("orange")
          >>> screen.bgcolor()
          "orange"
          >>> screen.bgcolor(0.5,0,0.5)
          >>> screen.bgcolor()
          "#800080"
    
    >>> help(Turtle.penup)
    Help on method penup in module turtle:
    
    penup(self) unbound turtle.Turtle method
        Pull the pen up -- no drawing when moving.
    
        Aliases: penup | pu | up
    
        No argument
    
        >>> turtle.penup()
    
  • Докстринги функций, которые являются производными от методов, имеют измененную форму:

    >>> help(bgcolor)
    Help on function bgcolor in module turtle:
    
    bgcolor(*args)
        Set or return backgroundcolor of the TurtleScreen.
    
        Arguments (if given): a color string or three numbers
        in the range 0..colormode or a 3-tuple of such numbers.
    
        Example::
    
          >>> bgcolor("orange")
          >>> bgcolor()
          "orange"
          >>> bgcolor(0.5,0,0.5)
          >>> bgcolor()
          "#800080"
    
    >>> help(penup)
    Help on function penup in module turtle:
    
    penup()
        Pull the pen up -- no drawing when moving.
    
        Aliases: penup | pu | up
    
        No argument
    
        Example:
        >>> penup()
    

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

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

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

turtle.write_docstringdict(filename=‘turtle_docstringdict’)
Parameters

filename – строка, используемая в качестве имени файла

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

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

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

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

Как настроить «Экран и черепахи¶

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

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

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

width = 0.5
height = 0.75
leftright = None
topbottom = None
canvwidth = 400
canvheight = 300
mode = standard
colormode = 1.0
delay = 10
undobuffersize = 1000
shape = classic
pencolor = black
fillcolor = black
resizemode = noresize
visible = True
language = english
exampleturtle = turtle
examplescreen = screen
title = Python Turtle Graphics
using_IDLE = False

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

  • Первые четыре строки соответствуют аргументам метода Screen.setup().

  • Строки 5 и 6 соответствуют аргументам метода Screen.screensize().

  • shape может быть любой из встроенных фигур, например: стрела, черепаха и т.д. Для получения дополнительной информации попробуйте help(shape).

  • Если вы хотите использовать отсутствие fillcolor (т.е. сделать черепашку прозрачной), вы должны написать fillcolor = "" (но все непустые строки не должны иметь кавычек в cfg-файле).

  • Если вы хотите отразить черепашке ее состояние, вы должны использовать resizemode = auto.

  • Если вы зададите, например, language = italian, то во время импорта будет загружен docstringdict turtle_docstringdict_italian.py (если он присутствует на пути импорта, например, в том же каталоге, что и turtle).

  • Записи exampleturtle и examplescreen определяют имена этих объектов в том виде, в котором они встречаются в документах. Преобразование докстрингов методов в докстринги функций удалит эти имена из докстрингов.

  • using_IDLE: Установите это значение True, если вы регулярно работаете с IDLE и его ключом -n («no subprocess»). Это предотвратит вход exitonclick() в основной цикл.

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

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

turtledemo — Демо-скрипты¶

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

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

python -m turtledemo.bytedesign

Каталог пакета turtledemo содержит:

  • Программа просмотра демонстраций __main__.py, которую можно использовать для просмотра исходного кода скриптов и одновременного их запуска.

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

  • Файл turtle.cfg, который служит примером того, как писать и использовать такие файлы.

Демонстрационные сценарии:

Имя

Описание

Характеристики

bytedesign

сложный классический графический рисунок черепахи

tracer(), задержка, update()

хаос

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

мировые координаты

часы

аналоговые часы, показывающие время вашего компьютера

черепахи как стрелки часов, онтаймер

колормиксер

экспериментировать с r, g, b

ondrag()

лес

3 дерева с широким охватом

рандомизация

фрактальные кривые

Кривые Гильберта и Коха

рекурсия

линденмайер

этноматематика (индийские коламы)

L-система

минимальный_ханой

Башни Ханоя

Прямоугольные черепахи как ханойские диски (форма, размер формы)

nim

играть в классическую игру nim с тремя кучками палочек против компьютера.

черепашки как палочки, управляемые событиями (мышь, клавиатура)

краска

супер минималистичная программа для рисования

onclick()

мир

элементарный

черепаха: внешний вид и анимация

Пенроуз

апериодическая черепица с воздушными змеями и дротиками

stamp()

планета_и_луна

моделирование гравитационной системы

составные формы, Vec2D

хоровод

танцующие черепахи, вращающиеся парами в противоположном направлении

составные фигуры, клонировать фигуры, наклон, get_shapepoly, обновить

сортировка_одушевлённых

наглядная демонстрация различных методов сортировки

простое выравнивание, рандомизация

дерево

(графическое) дерево широты (с использованием генераторов)

clone()

две_канвасы

простой дизайн

черепахи на двух холстах

википедия

рисунок из статьи википедии о черепаховой графике

clone(),
undo()

иньян

другой элементарный пример

circle()

Веселитесь!

Изменения по сравнению с Python 2.6¶

  • Методы Turtle.tracer(), Turtle.window_width() и Turtle.window_height() были упразднены. Методы с такими именами и функциональностью теперь доступны только как методы Screen. Функции, производные от них, остаются доступными. (Фактически уже в Python 2.6 эти методы были просто дубликатами соответствующих TurtleScreen/Screen-методов).

  • Метод Turtle.fill() был упразднен. Поведение begin_fill() и end_fill() немного изменилось: теперь каждый процесс заполнения должен завершаться вызовом end_fill().

  • Был добавлен метод Turtle.filling(). Он возвращает булево значение: True если идет процесс заполнения, False в противном случае. Такое поведение соответствует вызову fill() без аргументов в Python 2.6.

Изменения по сравнению с Python 3.0¶

  • Добавлены методы Turtle.shearfactor(), Turtle.shapetransform() и Turtle.get_shapepoly(). Таким образом, теперь для преобразования фигур черепахи доступен весь спектр регулярных линейных преобразований. Функциональность Turtle.tiltangle() была расширена: теперь его можно использовать для получения или установки угла наклона. Функция Turtle.settiltangle() была упразднена.

  • Метод Screen.onkeypress() был добавлен в качестве дополнения к Screen.onkey(), который фактически привязывает действия к событию отпускания клавиши. Соответственно, у последнего появился псевдоним: Screen.onkeyrelease().

  • Был добавлен метод Screen.mainloop(). Таким образом, при работе только с объектами Screen и Turtle больше не нужно дополнительно импортировать mainloop().

  • Добавлены два метода ввода Screen.textinput() и Screen.numinput(). Они открывают диалоговые окна ввода и возвращают строки и числа соответственно.

  • Два примера скриптов tdemo_nim.py и tdemo_round_dance.py были добавлены в каталог Lib/turtledemo.

Понравилась статья? Поделить с друзьями:

Читайте также:

  • Как изменить размер чата майнкрафт
  • Как изменить размер чата крмп радмир
  • Как изменить размер чата samp
  • Как изменить размер часов санлайт
  • Как изменить размер часов наручных

  • 0 0 голоса
    Рейтинг статьи
    Подписаться
    Уведомить о
    guest

    0 комментариев
    Старые
    Новые Популярные
    Межтекстовые Отзывы
    Посмотреть все комментарии