Английские слова
Английский | Русский | |
---|---|---|
width | ширина | အနံ (အနံ) |
height | высота | အလ်ား (အလျား) |
top | верх | ထိပ္ (ထိပ်) |
bottom | низ | ေအာက္ ( အောက်) |
point | место, точка | အမွတ္ (အမှတ်) |
write | писать | ေရးသည္ (ရေးသည်) |
angle | угол | ေတာင္႔ (တောင့်) |
star | звезда | ၾကယ္(ကယ်) |
Переменные (variables)
Где я? (функции черепахи)
Черепаха двигается в ХУ плоскости. Оси Х и У не рисуются. Можно узнать x или y координаты и запомнить их в переменные. Можно придумать имя переменной.x и у отдельно
x = t.xcor() # функция xcor черепахи отдает х координату где стоит черепаха, запомнили число в переменную х y = t.ycor() # функция xcor черепахи отдает y координату где стоит черепаха, запомнили число в переменную y t.goto(x,y) # черепахе перейти в точку с координатами (x,y)
точка - координаты х и у вместе
Можно узнать где стоит черепаха (точка). У точки две координаты (x, y). Запомним точку в переменную p.p = t.position() # место, где стоит черепаха запомнили в переменную p p = t.pos() # место, где стоит черепаха запомнили в переменную p (короткое имя функции) t.goto(p) # черепахе перейти в точку p
Запомнить
Черепаха стоит в точке поля. Она должна нарисовать две линии и вернуться в эту точку. Нужно запомнить место, где стояла черепаха. Для этого есть переменные.# -*- coding: utf-8 -*- import turtle import time # напишем функцию write, которая пишет нужными буквами def write(data): t.write(data, font=("Arial", 14, "normal")) # укажем длину линии для функции def line2(size): t.color("blue") xy = t.position() # запомним где черепаха, короткое имя t.pos() # xy - это переменная # xy - имя переменной # эта переменная запомнила где черепаха t.fd(size) # size - длина линии # эту длину мы сказали функции # size - тоже переменная # size - это имя переменной # В этой функции ДВЕ переменные - xy и size time.sleep(1) t.color("red") t.fd(size) t.up() t.goto(xy) # xy помнит где стояла черепаха. # Поставим ее на это место write(xy) # напишем координаты time.sleep(1) t = turtle.Turtle() t.shape("turtle") t.width(3) t.goto(-200,0) line2(100) turtle.done()
Задача 1 - запомнить цвет
Функция t.position() возвращает место (x и у).Функция t.goto(место) изменяет место (x и у). Функция t.pencolor() без параметров возвращает цвет.
Функция t.pencolor("black") изменяет цвет линии на черный. Функция write не меняет цвет. Каким цветом рисуем линии, таким цветом пишем текст.
- Надо:
- в функции write запомнить цвет линии в переменную oldcol (old color, старый цвет).
- Сделать цвет черным.
- Написать текст.
- Вспомнить цвет линии из переменной oldcol.


# -*- coding: utf-8 -*- import turtle import time # напишем функцию write, которая пишет черными буквами def write(data): # запомним цвет, которым рисовали в переменную oldcol (старый цвет) # тут нужно написать код t.pencolor("black") t.write(data, font=("Arial", 14, "normal")) # цвет - каким рисовали раньше # тут нужно написать код # укажем длину линии для функции def line2(size, col1, col2): t.color(col1) t.down() xy = t.position() # запомним где черепаха, короткое имя t.pos() # xy - это переменная # xy - имя переменной # эта переменная запомнила где черепаха t.fd(size) # size - длина линии # эту длину мы сказали функции # size - тоже переменная # size - это имя переменной # В этой функции ДВЕ переменные - xy и size time.sleep(1) t.color(col2) t.fd(size) t.up() t.goto(xy) # xy помнит где стояла черепаха. # Поставим ее на это место write(xy) # напишем координаты time.sleep(1) t = turtle.Turtle() t.shape("turtle") t.width(3) t.goto(-200, 0) line2(100, "blue", "red") t.goto(-200, 50) line2(100, "darkgreen", "gold") turtle.done()
Изменяем ЗНАЧЕНИЯ переменных
xy, size, oldcol - это ИМЕНА переменных. Координаты черепахи (-200, 0), длина линии (число 100) и старый цвет ("red") - это ЗНАЧЕНИЯ. ЗНАЧЕНИЯ можно вычислять и изменять. Нарисуем горизонтальную линию. Укажем координаты X. Y будет 0. Найдем середину линии, напишем координаты середины. Подвинем черепаху в середину и напечатаем чему равна половина длины. Затем вернем черепаху на место# -*- coding: utf-8 -*- import turtle import time def write(data): t.write(data, font=("Arial", 14, "normal")) def midline(x1,x2): start = t.position() # запомним в start место черепахи t.color("darkgreen") t.up() # поставим черепаху в нужное место # x1, x2 - тоже переменные # они помнят координаты t.goto(x1, 0) # нарисуем линию между x1 и x2 t.down() t.goto(x2, 0) time.sleep(1) mid = (x2 - x1) / 2 # ВЫЧИСЛИМ середину mid (координату x) # нарисуем половину линии (отрезка) t.pencolor("gold") # другим цветом #x1 = (x2+x1)/2 # изменим ЗНАЧЕНИЕ x1 на координату середины x1 = x2 - mid # изменим ЗНАЧЕНИЕ x1 на координату середины t.goto(x1, 0) # переместим черепаху и нарисуем линию write(mid) # напечатаем ЗНАЧЕНИЕ mid t.up() # вернем черепаху на место start (где была) t.goto(start) t = turtle.Turtle() t.shape("turtle") t.width(3) midline(-200, 300) turtle.done()

Задача 2 - прямоугольник
Черепаха стоит в центре будущего прямоугольника.Задать ширину и высоту прямоугольника (w, h). Решить задачу ИЛИ через точки ИЛИ через х и у.

через точки (переместиться и запомнить)

- написать функцию trifill(p1, p2, p3, col). Она по трем точкам p1, p2, p3 рисует треугольник цветом col.
- написать функцию rect4(w, h), где w - ширина прямоугольника (width), h - высота прямоугольника (height)
- черепаха стоит в центре прямоугольника. Запомнить место в переменную p0
- переместиться в любую вершину прямоугольника используя t.fd(длина) и t.left(угол) или t.right(угол)
- двигаться по прямоугольнику и запомнить вершины в переменные lt, rt, lb, rb (left top, right top, left bottom, right bottom). Можно придумать другие имена переменных.
- использовать функцию trifill и нарисовать 4 треугольника.
зеленый верхний треугольник нарисует trifill(p0, lt, rb, "darkgreen")
через х и у (вычислить координаты)

- написать функцию trifill(x1, y1, x2, y2, x3, y3, col). Она по трем точкам (x1,y1), (x2,y2), (x3,y3) рисует треугольник цветом col.
- написать функцию rect4(w, h), где w - ширина прямоугольника (width), h - высота прямоугольника (height)
- черепаха стоит в центре прямоугольника. Запомнить x и у координаты в переменные x0 и y0
- использовать функцию trifill и нарисовать 4 треугольника
зеленый верхний треугольник нарисует trifill(x0, y0, x0-w/2, y0+h/2, x0+w/2, y0+h/2, "darkgreen")
Задача 3 - узор часть
Решить задачу ИЛИ через точки ИЛИ через х и у. Черепаха должна нарисовать узор:
через точки (переместиться и запомнить)
- Напишите функцию line(p1, p2) - рисовать отрезок
- Напишите функцию uzor(w, h). В функции:
- вычислите ширину черточки step,
- Для рисования узора нарисовать нижние _ _ _ и запомнить все точки, где начинаются и кончаются черточки в переменные b0, b1, b2, b3, b4, b5.
- передвинуться для рисования верхних ‐ ‐ ‐
- нарисовать верхние ‐ ‐ ‐ и запомнить все точки, где начинаются и кончаются черточки в переменные t0, t1, t2, t3, t4, t5
- нарисовать все / и \
через х и у (вычислить координаты)
- напишите функцию line(x1, y1, x2, y2) - рисовать отрезок
- Напишите функцию uzor(w, h). В функции:
- вычислите ширину черточки step,
- Для рисования узора вычислить все места, где начинаются и кончаются черточки.
Х координаты точек: x1, x2, x3, x4, x5, x6.
Y координаты точек: y и y+h.
Задача 4 - узор ковер
Решить задачу ИЛИ через точки ИЛИ через х и у. Черепаха должна нарисовать узор:
через точки (переместиться и запомнить)
- возьмите из предыдущей задачи функцию line(p1, p2) - рисовать отрезок
- возьмите из предыдущей задачи функцию uzor(w, h, angle) - рисовать часть узора и добавьте сначала "повернуться на угол angle".
- Напишите функцию rectuzor(w, h, dh). В функции:
- вычислите ширину части узора wstep,
- вычислите высоту части узора hstep,
- встаньте в любую вершину прямоугольника
- обойдите все вершины и запомните точки начала части узора t0, t1, t2, b0, b1, b2, l0, l1, r0, r1
- нарисуйте диагонали функцией line
- нарисуйте все части узора функцией uzor
через х и у (вычислить координаты)
- возьмите из предыдущей задачи функцию line(x1, y1, x2, y2) - рисовать отрезок
- возьмите из предыдущей задачи функцию uzor(w, h, angle) - рисовать часть узора по горизонтали
- напишите функцию vuzor(w, h, angle) - рисовать часть узора по вертикали
- Напишите функцию rectuzor(w, h, dh). В функции:
- вычислите ширину части узора wstep,
- вычислите высоту части узора hstep,
- вычислите xl, xr, yt, yb - x и y координаты вершин прямоугольника
- нарисуйте диагонали функцией line
- нарисуйте все горизонтальные части узора функцией uzor
- нарисуйте все вертикальные части узора функцией vuzor
Задача 5 - звезда
Решить задачу ИЛИ через точки ИЛИ через х и у. Черепаха должна нарисовать звезду.
через точки (переместиться и запомнить)
Черепаха стоит на одной из вершин звезды. Угол пятиугольника, в который вписана звезда, 108o- возьмите из предыдущей задачи функцию line(p1, p2) - рисовать отрезок
- Напишите функцию star(size). size - длина стороны описанного пятиугольника. В функции:
- обойдите все вершины и запомните точки вершин пятиугольника p0, p1, p2, p3, p4
- нарисуйте звезду функцией line
через х и у (вычислить координаты)
Черепаха стоит в центре звезды.- возьмите из предыдущей задачи функцию line(x1, y1, x2, y2) - рисовать отрезок
- Напишите функцию star(r). r - радиус описанной окружности. В функции:
- вычислите значения координат вершин звезды и запишите их в переменные x0, y0, x1, y1, x2, y2, y3, y3, x4, y4, x5, y5
- нарисуйте звезду функцией line
Изменение переменных
Пример 1 - ang
ЗНАЧЕНИЕ переменной можно изменить. Например:ang = t.heading() # в переменную ang запомнили угол черепахи ang = 270 # изменяем ЗНАЧЕНИЕ переменной. ang стал 270. Положение черепахи НЕ изменилось. ang = t.heading() + 90 # или изменяем по-другому # или так: ang += 90 # "старое" значение переменной ang увеличили на 90 ang -= 30 # "старое" значение переменной ang уменьшили на 30 ang *= 3 # "старое" значение переменной ang увеличили в 3 раза ang /= 4 # "старое" значение переменной ang уменьшили в 4 раза
Пример 2 - линии изменяют длину
Нарисуем:
# -*- coding: utf-8 -*- import turtle import time def write(data): t.write(data, font=("Arial", 14, "normal")) def lines(size): t.down() t.color("blue") write(size) # пиши размер синей линии t.fd(size) size += 50 # увеличили size НА 50 t.color("darkgreen") write(size) # пиши размер зеленой линии t.fd(size) size += 50 # увеличили size еще НА 50 t.color("red") write(size) # пиши размер красной линии t.fd(size) size += 50 # увеличили size еще НА 50 t.color("gold") write(size) # пиши размер желтой линии t.fd(size) t.up() # увеличим координату y на size/5 x = t.xcor() # запомнили х y = t.ycor() + size/5 # вычислили и запомнили y t.goto(x,y) # изменим место и поворот черепахи t.left(180) t.down() t.color("gold") write(size) # пиши размер желтой линии t.fd(size) size -= 50 # уменьшили size НА 50 t.color("red") write(size) # пиши размер красной линии t.fd(size) size -= 50 # уменьшили size еще НА 50 t.color("darkgreen") write(size) # пиши размер зеленой линии t.fd(size) size -= 50 # уменьшили size еще НА 50 t.color("blue") write(size) # пиши размер синей линии t.fd(size) t = turtle.Turtle() t.shape("turtle") t.width(3) t.up() t.goto(-300, 0) lines(100) turtle.done()
Пример 3 - линии изменяют длину на d
Нарисуем:
# -*- coding: utf-8 -*- import turtle import time def write(data): t.write(data, font=("Arial", 14, "normal")) # size - длина первой линии # d - на сколько будем изменять size def lines(size, d): t.down() t.color("blue") write(size) # пиши размер синей линии t.fd(size) size += d # увеличили size НА d t.color("darkgreen") write(size) # пиши размер зеленой линии t.fd(size) size += d # увеличили size еще НА d t.color("red") write(size) # пиши размер красной линии t.fd(size) size += d # увеличили size еще НА d t.color("gold") write(size) # пиши размер желтой линии t.fd(size) t = turtle.Turtle() t.shape("turtle") t.width(3) t.up() t.goto(-300, 0) p = t.pos() lines(80, 40) # size будет 80, d будет 40 # длина линии будет увеличиваться t.up() t.goto(p) # встанем на 50 выше t.seth(90) t.fd(50) t.seth(0) lines(200, -40) # size будет 200, d будет -40 # длина линии будет уменьшаться turtle.done()
Задача 6 - спираль
Написать функцию spi(size, d)Получить похожую картинку.
Цифры могут быть другие.

Задача 7 - солнце
Нарисовать солнце. Написать функцию sun(r, size, angle, col).r - радиус круга солнца
size - длина луча
angle - на сколько повернуть первый луч
col - цвет луча. Написать вторую функцию sun2(r, size) которая использует sun(r, size, angle, col) Получить картинку:

Задача 8 - 3 квадрата
Написать функцию sq(size, ang, col1, col2), гдеsize - размер стороны квадрата
ang - угол поворота квадрата
col1 - цвет линии
col2 - цвет внутри. Написать функцию sq3(size, ang) которая рисует 3 квадрата один в другом.
![]() | ![]() |
Задача 9 - спираль вверх
Написать функцию spi(size, d, ang)Написать функцию для рисования картинки:

Задача 10 - спираль 2
Написать функцию для рисования двух спиралей:
Задача 11 - спираль узор
Написать функцию для рисования узора:
Редактор: Дербышева Т.Н.