137 цикла и проверке условия. Например, возьмем цикл, который считает от 1 до 10,
но выводит только нечетные числа в этом диапазоне:
counting.py current_number = 0
while current_number < 10:
❶
current_number += 1
if current_number % 2 == 0:
continue
print(current_number)
Сначала переменной
current_number
присваивается 0. Так как значение меньше
10, Python входит в цикл
while
. При входе в цикл счетчик увеличивается на
1 в точке
, поэтому
current_number
принимает значение 1. Затем команда
if
проверяет остаток от деления
current_number
на 2. Если остаток равен 0 (это оз-
начает, что
current_number
делится на 2), команда
continue
приказывает Python
проигнорировать оставшийся код цикла и вернуться к началу. Если счетчик не
делится на 2, то оставшаяся часть цикла выполняется и Python выводит текущее
значение счетчика:
1
3
5
7
9
Предотвращение зацикливания
У каждого цикла
while
должна быть предусмотрена возможность завершения, что-
бы цикл не выполнялся бесконечно. Например, следующий цикл считает от 1 до 5:
counting.py x = 1
while x <= 5:
print(x)
x += 1
Но если случайно пропустить строку
x
+=
1
(см. далее), то цикл будет выполняться
бесконечно:
# Бесконечный цикл!
x = 1
while x <= 5:
print(x)
Теперь переменной
x
присваивается начальное значение 1, но это значение никогда
не изменяется в программе. В результате проверка условия
x
<=
5
всегда дает ре-
зультат
True
, и цикл
while
выводит бесконечную серию единиц: