Команда break может использоваться в любых циклах Python . Например, ее можно вклю-
к началу цикла и проверке условия. Например, возьмем цикл, который считает от 1
Циклы while
129
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
выводит бесконечную серию единиц:
1
1
1
1
…
Любой программист время от времени пишет бесконечный цикл, особенно если
в программе используются неочевидные условия завершения. Если ваша про-
грамма зациклилась, нажмите Ctrl+C или просто закройте терминальное окно
с выводом программы.
130 Глава 7 • Ввод данных и циклы while
Чтобы избежать зацикливания, тщательно проверьте каждый цикл
while
и убеди-
тесь в том, что цикл прерывается именно тогда, когда предполагается. Если про-
грамма должна завершаться при вводе некоторого значения, запустите программу
и введите это значение. Если программа не завершилась, проанализируйте обра-
ботку значения, которое должно приводить к выходу из цикла. Проверьте, чтобы
хотя бы одна часть программы могла привести к тому, что условие цикла станет
равно
False
или будет выполнена команда
break
.
Достарыңызбен бөлісу: