pensize(x)
begin_fill()
end_fill()
circle(r)
setpos(x,y)
setheading(x)
setup(w,h)
towards(x,y)
distance(x,y)
Переместить Черепаху в точку с координатами (x,y)
Залить фигуру, которая нарисована с помощью команд, расположенных между begin_fill() и end_fill()
Задать направление движения Черепахи
Изменить размеры окна Черепахи: w — ширина окна, h — высота окна
Команда прописывается перед командами рисования фигуры
Получить угол между текущим направлением Черепахи и прямой от Черепахи к точке (x,y)
Задать направление движения Черепахи
Изменить толщину линии, которую рисует Черепаха
Нарисовать окружность радиуса r
Вспомогательный алгоритм — алгоритм, который можно целиком использовать в других алгоритмах.
Пример 20.1
Написать программу для рисования елочки с использованием вспомогательного алгоритма.
import turtle
turtle.shape('turtle')
turtle.pensize(2)
def treug():
turtle.forward(100)
turtle.left(120)
turtle.forward(100)
turtle.left(120)
turtle.forward(100)
turtle.left(120)
#нижний треугольник
turtle.penup()
turtle.setpos(-50, -85)
turtle.pendown()
treug()
#средний треугольник
turtle.penup()
turtle.setpos(-50, 0)
turtle.pendown()
treug()
#верхний треугольник
turtle.penup()
turtle.setpos(-50, 85)
turtle.pendown()
treug()
Пример 20.2
Измененная программа рисования елки.
import turtle
turtle.shape('turtle')
turtle.pensize(2)
def treug():
turtle.forward(100)
turtle.left(120)
turtle.forward(100)
turtle.left(120)
turtle.forward(100)
turtle.left(120)
def p(x, y):
turtle.penup()
turtle.setpos(x,y)
turtle.pendown()
#нижний треугольник
p(-50, -85)
treug()
#средний треугольник
p(-50, 0)
treug()
#верхний треугольник
p(-50, 85)
treug()
Пример 20.3
Новые изменения в программе рисования елки.
import turtle
turtle.shape('turtle')
turtle.pensize(2)
def treug(x, y):
p(x, y)
turtle.forward(100)
turtle.left(120)
turtle.forward(100)
turtle.left(120)
turtle.forward(100)
def p(x, y):
turtle.penup()
turtle.setpos(x, y)
turtle.pendown()
turtle.setheading(0)
#нижний треугольник
treug(-50, -85)
#средний треугольник
treug(-50, 0)
#верхний треугольник
treug(-50, 85)
Пример 20.4
import turtle
turtle.shape('turtle')
turtle.pensize(2)
def cifr_3(x, y, c):
p(x, y)
turtle.color(c)
turtle.forward(30)
turtle.right(135)
turtle.forward(42)
turtle.left(135)
turtle.forward(30)
turtle.right(135)
turtle.forward(42)
def p(x, y):
turtle.penup()
turtle.setpos(x, y)
turtle.pendown()
turtle.setheading(0)
#первая тройка
cifr_3(-50, 60, 'red')
#вторая тройка
cifr_3(0, 60, 'green')
#третья тройка
cifr_3(50, 60, 'blue')
Пример 20.5
import turtle
turtle.shape('turtle')
turtle.pensize(2)
def cifr_1(x, y, c):
p(x, y)
turtle.color(c)
turtle.left(45)
turtle.forward(42)
turtle.right(135)
turtle.forward(60)
def cifr_3(x, y, c):
p(x, y)
turtle.color(c)
turtle.forward(30)
turtle.right(135)
turtle.forward(42)
turtle.left(135)
turtle.forward(30)
turtle.right(135)
turtle.forward(42)
def cifr_7(x, y, c):
p(x, y)
turtle.color(c)
turtle.forward(30)
turtle.right(135)
turtle.forward(42)
turtle.left(45)
turtle.forward(30)
def p(x,y):
turtle.penup()
turtle.setpos(x,y)
turtle.pendown()
turtle.setheading(0)
cifr_1(0, 30, 'red')
cifr_3(50, 60, 'green')
cifr_7(100, 60, 'blue')
p(150,0)
Пример 20.8
«Пейзаж»
import turtle
turtle.shape('turtle')
turtle.pensize(2)
def treug(x, y, d):
p(x,y)
turtle.forward(d)
turtle.left(120)
turtle.forward(d)
turtle.left(120)
turtle.forward(d)
def p(x,y):
turtle.penup()
turtle.setpos(x,y)
turtle.pendown()
turtle.setheading(0)
def m_el(x, y, d):
treug(x, y, d)
treug(x, y + d * 0.86, d)
def b_el(x, y, d):
m_el(x, y, d)
m_el(x, y + d * 1.72, d)
def dom(x, y, d):
p(x,y)
turtle.forward(d)
turtle.left(90)
turtle.forward(d)
turtle.left(60)
treug(x, y + d, d)
turtle.left(30)
turtle.forward(d)
def sosna(x, y, d):
p(x + d / 8 , y)
turtle.left(90)
turtle.forward(d)
p(x, y + d / 2)
turtle.left(60)
turtle.forward(d / 4)
turtle.right(120)
turtle.forward(d / 4)
p(x, y + 3 * d / 4)
turtle.left(60)
turtle.forward(d / 4)
turtle.right(120)
turtle.forward(d / 4)
turtle.color('green')
b_el(-250,-200, 100)
turtle.color('lime')
m_el(210, -180, 50)
m_el(290, -180, 60)
turtle.color('brown')
dom(-30, -50, 120)
turtle.color('darkgreen')
sosna(120, 20, 120)
p(0,-100)
Пример 20.9
Изменения в программе
turtle.color('green')
m_el(-350, -120, 150)
m_el(-170, -120, 60) turtle.color('lime')
b_el(300,-135, 40) turtle.color('brown')
dom(-70, -100, 200) turtle.color('darkgreen')
sosna(190, 120, 70)
turtle.color('teal')
sosna(190, -120, 120)
p(0,-150)