Циклы · 19 из 26
Радужная спираль
Заставка, которую помнит любой, кто сидел за школьным компьютером: линия закручивается, каждый шаг чуть длиннее прошлого, а цвет плавно идёт по радуге. Если поворот не ровно 90°, а 91, — квадраты проворачиваются, и спираль становится вихрем.
Что сделать
Нарисуйте спираль: на каждом шаге — цвет по радуге, вперёд на шаг длиннее прошлого, поворот налево.
Что приходит
t— черепашкаshagov— сколько шаговugol— поворот налево после каждого шага, в градусах
Что вернуть
Ничего — функция рисует.
Допишите функцию raduzhnaya_spiral в редакторе справа.
Рисуйте черепашкой t, как turtle дома, — проверка
сравнивает нарисованное; возвращать ничего не нужно.
с графикой когда тесты пройдут, ответ вашей функции нарисуется · все задачи с графикой
shagov = 4, ugol = 90: красная линия длиной 1, налево, жёлто-зелёная длиной 2, налево, голубая длиной 3, налево, фиолетовая длиной 4 — четыре отрезка.
Шаг номер i (от 0 до shagov − 1):
- цвет пера — оттенок i / shagov по кругу радуги: t.pencolor(colorsys.hsv_to_rgb(i / shagov, 1, 1));
- вперёд на i + 1;
- налево на ugol.
Модуль colorsys — стандартный: hsv_to_rgb(h, s, v) переводит оттенок, насыщенность и яркость (всё от 0 до 1) в тройку (r, g, b), которую понимает черепашка. Цвет ставится ДО линии — иначе линия рисуется прошлым цветом.
Образцовый тест целиком
from cherepashka import risunok as _risunok_p
_risunok_p(raduzhnaya_spiral, 4, 90)
<рисунок: 4 линии, 4 цвета; от (-2, -2) до (1, 2); отпечаток 5c0363414c>
Обсуждение
Вопросов пока нет.
Войдите, чтобы спросить.