Глава 10 · Немного автоматизации!

Мини-проект — автоматически рисуем мандалу

Та же мандала, что и в главе 6, — но короче и понятнее благодаря range() с тремя аргументами.

В главе 6 мандала рисовалась циклом while с ручным увеличением угла. Теперь, когда мы понимаем оба вида циклов, перепишем её на for с range() — станет ещё короче:

avto_mandala.py
shag_ugla = 10

for ugol in range(0, 360, shag_ugla):
    artist.setheading(ugol)
    artist.forward(150)
    artist.backward(150)
range() с тремя аргументами — то же, что и ручной while
range(0, 360, shag_ugla) генерирует именно те же числа, что мы получали вручную в главе 6: while ugol < 360: ... ugol += shag_ugla. Цикл for просто делает это короче и без риска забыть увеличить счётчик.
Практика в Jupyter Notebook
10-07-avto-mandala.ipynb · мандала через for + range()
Открыть ноутбук →