Kodokon kodokon.com

Циклы: for, while, break и continue

Ты научишься повторять инструкции с помощью for и while и управлять циклами через range, break и continue.

8 мин · 3 вопросов

Открыть этот урок в Kodokon

Цикл повторяет блок инструкций несколько раз, и тебе не нужно переписывать его заново. Цикл for повторяется заранее известное число раз. Его часто используют вместе с range - функцией, которая производит последовательность чисел: range(5) даёт 0, 1, 2, 3, 4 (отсчёт начинается с 0, а верхняя граница не включается). Как и с if, строка заканчивается на :, а повторяемый блок сдвинут на 4 пробела.

PYTHON
for number in range(5):
    print(number)
Выводит числа от 0 до 4, по одному в строке.

range также принимает начало: range(1, 6) даёт 1, 2, 3, 4, 5. Цикл while повторяет свой блок пока условие истинно. Его используют, когда заранее не знаешь, сколько будет повторений. Осторожно: блок должен менять условие, иначе цикл никогда не остановится.

PYTHON
countdown = 3
while countdown > 0:
    print(countdown)
    countdown = countdown - 1
print("Go!")
Выводит 3, 2, 1, затем "Go!": countdown уменьшается с каждым повторением.

Два ключевых слова позволяют управлять циклом изнутри: break немедленно выходит из цикла, а continue переходит к следующему повторению, не выполняя остаток блока. В примере ниже % даёт остаток от деления: значит, number % 2 == 0 проверяет, чётное ли число.

PYTHON
for number in range(10):
    if number == 5:
        break
    if number % 2 == 0:
        continue
    print(number)
Выводит 1, затем 3: чётные числа пропускаются, а цикл останавливается на 5.

Проверка знаний

Убедись, что запомнил ключевые моменты этого урока.

  1. Сколько раз выполнится блок for i in range(3):?
    • 2 раза
    • 3 раза
    • 4 раза
  2. Что делает ключевое слово break в цикле?
    • Ставит цикл на паузу
    • Немедленно выходит из цикла
    • Перезапускает цикл сначала
    • Переходит к следующему повторению
  3. Что произойдёт, если условие while навсегда останется истинным?
    • Цикл никогда не остановится
    • Python исправит программу автоматически
    • Цикл выполнится только один раз