Перейти к содержанию

Управление выполнением циклов

Не всегда имеет смысл ждать выполнение цикла до конца, например если вы в цикле проверяли данные, и нашли искомое. Для того чтобы продолжить выполнение кода или выйти из цикла полностью есть два оператора continue и break.

Оператор continue

Если вы хотите прекратить выполнение текущего тела цикла и вернуться к точке входа, то используйте continue:

>>> for i in range(10):
...     if i % 2 ==0:
...         continue
...     print(i)
...
1
3
5
7
9

Этот код проверяет делится ли i без остатка на 2 и если да, то прекращает выполнение текущего тела цикла и возвращает выполнение программы к началу цикла.

Оператор break

Если вы хотите полностью прекратить работу цикла и выйти из него, то воспользуйтесь оператором break.

import random
n = random.randint(0, 10)
print("Отгадайе число от 0 до 10")
while True:
    x = int(input("Введите вариант: "))
    if x == n:
        print("Правильно!")
        break

Выполнение этого кода создаст переменную n и присвоит ей случайно число от 0 до 10 и будет спрашивать пользователя до тех пор, пока он не угадает число. Работу конструкции if-else мы выучим на следующем уроке.

else

Если вам надо проверить произошел ли выход из цикла досрочно с использованием break или был закончен естественным образом, то есть возможность использовать специальную else конструкцию. Она работает и с for и с while циклами. Если в процессе работы цикла произошел вызов break то она не исполнится. В некоторых случаях это может существенно сэкономить время на дополнительных проверках.

Пример использования:

s = input("Введите строку без цифр: ")
for i in s:
    if i.isnumeric():
        print("Стоп, найдена цифра ", i)
        break
else:
    print("Ввели правильно")

image