Глава 10 · Немного автоматизации!
Мини-проект — спирали из дуг
Завершаем главу узором, который меняется на каждом шаге цикла, — и подводим итоги.
Финальный мини-проект главы: спираль из дуг — каждая следующая дуга немного больше предыдущей.
spirali_iz_dug.py
radius = 5
for _ in range(60):
artist.circle(radius, 90) # дуга в четверть окружности
radius += 3 # каждый раз чуть больше
Изменение переменной внутри цикла — обычное дело
В отличие от предыдущих примеров, здесь
radius меняется на каждом шаге цикла — это и создаёт эффект нарастающей спирали, а не повторяющегося узора.★★ Самостоятельная задача
Спираль из квадратов
Замените дугу на маленький квадрат (цикл на 4 стороны) внутри внешнего цикла — получится спираль из уменьшающихся или увеличивающихся квадратов.
Итоги
Что мы узнали в этой главе
for ... in range(n)повторяет блок кода заданное число раз — и заменяет ручное копирование одинаковых строк.forумеет перебирать не только числа, но и символы строки.whileповторяет действие, пока условие остаётся истинным — используется, когда число повторов заранее неизвестно.breakпрерывает цикл полностью;continueпропускает текущий шаг и переходит к следующему.- Циклы можно вкладывать друг в друга — тогда внутренний цикл выполняется полностью на каждом шаге внешнего.
- Все фигуры из глав 6–7, нарисованные вручную, теперь можно записать в 2–4 строки с циклом.