Вспоминаем черепаху
Задача 0.1: строка из n квадратов
Напишите функцию sq(size), которая рисует один квадрат. Напишите функцию sq_row(size, n), которая рисует строку из n квадратов и возвращает черепаху в начало строки. Проверьте эти функции.sq_row(30, 7) | sq_row(50, 1) |
![]() | ![]() |
Задача 0.2: столбец из n квадратов
Возьмите из предыдущей задачи функцию sq(size), которая рисует один квадрат. Напишите функцию sq_col(size, n), которая рисует столбец из n квадратов и возвращает черепаху в начало столбца. Проверьте эти функции. Пример вызова функции sq_col(30, 7) и sq_col(50, 1)
range
range дает много чисел. Когда пишемfor i in range(5):

Пример 1: range(5) - числа от 0 до 4
# -*- coding: utf-8 -*- import turtle import time def write(data): t.write(data, font=("Arial", 14, "normal")) t = turtle.Turtle() t.shape("turtle") t.width(3) for i in range(5): write(i) t.fd(50) turtle.done()

Пример 2: range(2, 5) - числа от 2 до 4
Изменим в примере вызов range(2, 5)for i in range(2, 5): write(i) t.fd(50)

Пример 3: range(0, 200, 50) - числа от 0 до 200, прибавляя 50
Изменим в примере вызов range(0, 200, 50)for i in range(0, 200, 50): write(i) t.fd(50)

Четные и нечетные разным цветом
Надо нарисовать:
Пример 4: цвет чисел 0, 2, 4
Рисуем 0, 2, 4 желтым цветом, остальные - красным.# -*- coding: utf-8 -*- import turtle import time def write(data): t.write(data, font=("Arial", 14, "normal")) t = turtle.Turtle() t.shape("turtle") t.width(3) for i in range(5): if i == 0 or i == 2 or i == 4: # если i равен 0, 2 или 4 col = 'gold' # цвет желтый else : # иначе (i равен 1 или 3) col = 'red' # цвет красный t.pencolor(col) write(i) t.fd(50) turtle.done()
Сравнение
Операции сравненияматематика | python | пример (ДА) |
---|---|---|
< | < | 3 < 5 |
≤ | <= | 3 <= 5 3 <= 3 |
> | > | 5 > 3 |
≥ | >= | 5 > 3 3 >= 3 |
= | | 3 |
≠ | != | 3 != 5 |

x = 3 (запомнить 3 в х)
x
Арифметические операции с целыми числами
Знак | Означает | Пример | Результат |
---|---|---|---|
+ | сложение | 2+3 | 5 |
- | вычитание | 7-5 | 2 |
* | умножение | 2*3 | 6 |
/ | деление (математическое) | 7/2 | 3.5 |
// | деление целых чисел | 7//2 | 3 |
% | остаток от деления | 17%5 | 2 |
Пример 5: четные желтым
Если надо нарисовать не 5 отрезков, а 100, то писать для всех нужных i проверку i == 0 or i==2 or .. or долго. Можно придумать формулу для проверки. Четные числа (0, 2, 4, 6,..) - это числа, которые при делении на 2 в остатке дают 0. Напишем решение через формулу:# -*- coding: utf-8 -*- import turtle import time def write(data): t.write(data, font=("Arial", 14, "normal")) t = turtle.Turtle() t.shape("turtle") t.width(3) for i in range(5): if i%2 == 0: # остаток от деления i на 2 равен 0 (четное) col = 'gold' # цвет желтый else : # иначе (i равен 1 или 3) col = 'red' # цвет красный t.pencolor(col) write(i) t.fd(50) turtle.done()
Пример 6: меняем цвет
Будем рисовать разным цветом. Менять красный и желтый. В переменной col запишем цвет. Сначала поменяем цвет на другой, потом будем писать число и рисовать отрезок.# -*- coding: utf-8 -*- import turtle import time def write(data): t.write(data, font=("Arial", 14, "normal")) t = turtle.Turtle() t.shape("turtle") t.width(3) col = 'red' # какой тут должен быть цвет, чтобы первый был желтый? for i in range(5): if col == 'red': # если цвет был красный col = 'gold' # станет желтый else : # иначе (если был желтый) col = 'red' # станет красный t.pencolor(col) write(i) t.fd(50) turtle.done()
Пример 7: меняем цвет (функция)
Будем рисовать разным цветом. Менять красный и желтый. В переменной col запишем цвет. Будем делать новый цвет функцией new_color(col). Сначала поменяем цвет на другой, потом будем писать число и рисовать отрезок.# -*- coding: utf-8 -*- import turtle import time def write(data): t.write(data, font=("Arial", 14, "normal")) def new_color(col): if col == 'red': # если цвет был красный col = 'gold' # станет желтый else : # иначе (если был желтый) col = 'red' # станет красный t.pencolor(col) return col # ВОЗВРАЩАЕМ (return) новый цвет t = turtle.Turtle() t.shape("turtle") t.width(3) col = 'yellow' # первый отрезок желтый t.color(col) for i in range(5): write(i) t.fd(50) col = new_color(col) # функция new_col ВЕРНУЛА другой цвет и мы этот цвет записали в col turtle.done()
Задачи
Задача 1: строку квадратов меняя цвета
Напишите функцию csq(size, col), которая рисует квадрат со стороной size цветом col. Напишите функцию csq_row(size, n, col1), которая рисует строку из n квадратов размера size, меняя цвет. Цвет первого квадрата col1. Нарисуйте картинку:
Задача 2: столбец квадратов меняя цвета
Возьмите функцию csq(size, col), которая рисует квадрат со стороной size цветом col. Напишите функцию csq_col(size, n, col1), которая рисует столбец из n квадратов размера size, меняя цвет. Цвет первого квадрата col1. Нарисуйте картинку:
Задача 3: ковер, горизонтальные полосы
Напишите функцию Напишите функцию csq_hrect(size, rows, cols), которая рисует из квадратов размера size прямоугольник размера rows строк и cols столбцов. Цвета квадратов смотри на рисунке.
Задача 4: ковер, вертикальные полосы
Напишите функцию Напишите функцию csq_vrect(size, rows, cols), которая рисует из квадратов размера size прямоугольник размера rows строк и cols столбцов. Цвета квадратов смотри на рисунке.
Задача 5: ковер, шахматная доска
Напишите функцию Напишите функцию csq_chess(size, rows, cols), которая рисует из квадратов размера size прямоугольник размера rows строк и cols столбцов. Цвета квадратов смотри на рисунке.
Задача 6: три цвета, строка
Напишите функцию Напишите функцию csq_3(size, n), которая рисует из квадратов размера size строку размера n столбцов. Цвета квадратов смотри на рисунке (меняются красный - желтый - зеленый).
Задача 7: спираль без цвета
Напишите функцию Напишите функцию sriral(size, n), которая рисует из квадратов размера size спираль, у которой в первом отрезке n квадратов. Отрезки спирали уменьшаются. Используйте while
Задача 8: спираль 2 цвета
Напишите функцию Напишите функцию sriral(size, n), которая рисует из квадратов размера size спираль, у которой в первом отрезке n квадратов. Цвета квадратов смотри на рисунке (меняются красный - желтый). Отрезки спирали уменьшаются. Используйте while
Делать НЕ НАДО
Задача q: рамка
Напишите функцию Напишите функцию csq_bord(size, rows, cols), которая рисует из квадратов размера size прямоугольник размера rows строк и cols столбцов. Цвета квадратов смотри на рисунке.
Задача q: главная диагональ
Напишите функцию Напишите функцию csq_diag(size, rows, cols), которая рисует из квадратов размера size прямоугольник размера rows строк и cols столбцов. Цвета квадратов смотри на рисунке.
Задача q: другая диагональ
Напишите функцию Напишите функцию csq_diag2(size, rows, cols), которая рисует из квадратов размера size прямоугольник размера rows строк и cols столбцов. Цвета квадратов смотри на рисунке.
Задача q: стрелка
Напишите функцию Напишите функцию csq_arrow(size, rows, cols), которая рисует из квадратов размера size прямоугольник размера rows строк и cols столбцов. Цвета квадратов смотри на рисунке.
- ex0.png: