Повторения: цикл «повторить N раз»
Узнаём про лень программиста (хорошую!) и про волшебную команду «повторить», которая делает скучную работу за нас.
Цикл — это команда, которая повторяет другие команды нужное число раз, чтобы не писать их вручную много раз.
Зачем повторять
Помнишь квадрат из прошлого раздела? Чтобы его нарисовать, мы написали «идти — повернуть» четыре раза подряд. Восемь почти одинаковых строк! А если бы мы рисовали стоступенчатую лестницу — пришлось бы писать сто раз? Скукота!
У программистов есть золотое правило: не повторяй одно и то же руками. Если нужно сделать что-то много раз — попроси компьютер повторить за тебя. Для этого есть специальная команда — цикл (его ещё называют «повторение»). Слово «цикл» значит «круг»: программа как будто бегает по кругу, повторяя команды.
Блок «повторить N раз»
В Scratch есть оранжевый блок «повторить N раз». Он обнимает другие блоки, как объятия, и повторяет их сколько скажешь. Вот наш квадрат — теперь коротко:
повторить 4 раз
идти 100 шагов
повернуть на 90 градусов
Сравни с прошлым разделом, где было восемь строк! Здесь блок «повторить 4 раз» сам выполнит «идти» и «повернуть» четыре раза. Команды внутри сдвинуты вправо (с отступом) — так видно, что они «внутри» повторения.
То же самое в Python: цикл for
В Python повторение записывают словом for (по-английски «для»). Выглядит чуть иначе, но смысл тот же. Вот как повторить команду 4 раза:
for i in range(4):
print("Рисую сторону квадрата")
Вывод:
Рисую сторону квадрата Рисую сторону квадрата Рисую сторону квадрата Рисую сторону квадрата
Разберём по кусочкам, не пугайся:
for i in range(4):— это «повтори 4 раза». Число в скобкахrange(4)говорит, сколько раз.- Строчка ниже сдвинута вправо (это отступ) — значит, она внутри цикла и будет повторяться.
i— это просто счётчик повторений (про него подробнее в следующем уроке).
Отступ в Python — это как «объятия» блока в Scratch. Он показывает, какие команды внутри цикла. Очень важно его не забывать!
Попробуй сам
Запусти программу — кот прыгнет 5 раз. Потом поменяй число в range(...) на 3 или на 10 и снова запусти. Смотри, как меняется количество прыжков!
for i in range(5):
print("Прыг!")
Вывод:
Прыг! Прыг! Прыг! Прыг! Прыг!
Частые ошибки
- Забыть отступ. Если строчка под
forне сдвинута вправо, Python не поймёт, что её надо повторять, и пожалуется. Просто добавь отступ (4 пробела или Tab). - Забыть двоеточие. После
range(4)обязательно ставится двоеточие:. Это сигнал «дальше идёт то, что повторяем».
Что мы узнали
- Цикл (повторение) делает скучную повторяющуюся работу за нас.
- В Scratch это блок «повторить N раз», в Python — for ... in range(N).
- Команды внутри цикла пишут с отступом — он показывает, что повторять.