10. Циклы
Что такое цикл
Цикл — это конструкция, которая позволяет выполнять один и тот же блок кода несколько раз. Циклы используются тогда, когда необходимо повторение действий. Примеры задач: - вывести числа от 1 до 10; - выполнить вычисления несколько раз; - повторять действия до выполнения условия.
Цикл while
Цикл while выполняется, пока условие истинно.
Общий вид:
while условие:
действия
Пример:
i = 1
while i <= 5:
print(i)
i = i + 1
Разбор:
- i — счётчик;
- условие i <= 5 проверяется перед каждой итерацией;
- после выполнения блока значение увеличивается.
Бесконечный цикл
Если условие всегда истинно, цикл будет бесконечным.
while True:
print("Бесконечность")
Чтобы выйти из такого цикла, используется команда break.
Цикл for
Цикл for используется для перебора последовательности.
Общий вид:
for переменная in последовательность:
действия
Функция range()
Для работы с числами используется функция range().
for i in range(5):
print(i)
Результат:
0
1
2
3
4
range(5) создаёт числа от 0 до 4.
Форматы range()
range(конец)
range(начало, конец)
range(начало, конец, шаг)
Примеры:
range(1, 6)
range(0, 10, 2)
Оператор break
Прерывает выполнение цикла.
for i in range(10):
if i == 5:
break
print(i)
Оператор continue
Пропускает текущую итерацию.
for i in range(5):
if i == 2:
continue
print(i)
Вложенные циклы
Циклы могут быть вложенными.
for i in range(3):
for j in range(2):
print(i, j)
Каждый уровень требует дополнительного отступа.
Цикл с предусловием и постусловием
В программировании различают два типа циклов: - цикл с предусловием; - цикл с постусловием.
Цикл с предусловием
Цикл с предусловием проверяет условие перед выполнением блока кода.
Если условие ложно изначально — цикл не выполнится ни разу.
В Python таким циклом является while.
Пример:
i = 1
while i <= 5:
print(i)
i += 1
Здесь сначала проверяется условие i <= 5, и только затем выполняется тело цикла.
Если бы i было равно 10, цикл не выполнился бы ни разу.
Цикл с постусловием
Цикл с постусловием сначала выполняет блок кода, а затем проверяет условие.
Такой цикл гарантированно выполняется минимум один раз.
В некоторых языках программирования используется конструкция do ... while.
В Python отдельного цикла с постусловием нет, но его можно реализовать с помощью while True и оператора break.
Пример имитации цикла с постусловием:
while True:
number = int(input("Введите число (0 для выхода): "))
if number == 0:
break
print("Вы ввели:", number)
Здесь: - тело цикла выполняется хотя бы один раз; - выход из цикла происходит по условию внутри блока.
Сравнение
| Тип цикла | Когда проверяется условие | Может не выполниться ни разу |
|---|---|---|
| Предусловие | До выполнения | Да |
| Постусловие | После выполнения | Нет |
Практическая работа
Задание 1
Вывести числа от 1 до 10 с помощью while.
Задание 2
Вывести числа от 1 до 10 с помощью for.
Задание 3
Найти сумму чисел от 1 до 10.
Задание 4
Вывести только чётные числа от 1 до 20.
Задание 5
Запрашивать числа у пользователя, пока не будет введено число 0.
Задание 6
Вывести таблицу умножения на 5.