Цикл повторяет действия, пока это нужно. for — когда число повторений известно, while — когда повторять надо до наступления события.
Что нужно знать
- range(n) — 0…n−1; range(a, b) — a…b−1; range(a, b, h) — с шагом h. Правая граница НЕ включается. Шаг может быть отрицательным: range(10, 0, −2) → 10, 8, 6, 4, 2.
- while условие: — тело повторяется, пока условие истинно. В теле обязательно что-то должно приближать конец, иначе цикл бесконечный.
- break — выйти из цикла сразу; continue — пропустить остаток шага и перейти к следующему.
- Накопление: s = 0 до цикла, s += x в цикле. Подсчёт: k = 0, k += 1 при выполнении условия.
- Алгоритм Евклида: while b != 0: a, b = b, a % b; ответ — a.
- Число цифр n: делить n //= 10, пока n > 0, считая шаги. Сумма цифр — прибавлять n % 10 перед делением.
- Вложенные циклы: внутренний выполняется полностью на каждом шаге внешнего; число повторений перемножается.
- Узоры и штриховка: координата линии меняется в цикле с шагом; количество линий — число значений range.
Где чаще всего ошибаются
- Считать, что range(1, 10) доходит до 10.
- Забывать менять переменную условия в теле while — программа «зависает».
- Выводить счётчик после while и не учитывать, что он уже увеличен на последнем шаге.
- Обнулять сумму внутри цикла вместо того, чтобы сделать это до него.
Проверить себя
По этой же теме курса есть проверочная работа из 15 заданий на 25 минут. Проверка автоматическая, результат виден сразу — и по работе целиком, и по каждой теме.
Программирование на Python · 7 класс · Циклы с условием и по переменной