Операторы break и continue в Python
avatar
7 | (offline)
❤️‍🔥Notehunter Developer
Добавлено:
Категория: Основы «Python»
Комментариев: 0

В этом руководстве мы узнаем об операторах break и continue. Операторы break и continue в Python изменяют поведение цикла во время выполнения. Рассмотрим пример, когда вы ездите на велосипеде в течение определенного периода. В какой-то момент цикл должен завершиться и перейти к следующему оператору в коде. На этом этапе оператор break работает лучше всего. Точно так же, если вы хотите, чтобы цикл пропустил одну итерацию и перешел к следующей итерации, вы должны использовать оператор continue.

1. Оператор break. 

Оператор break прерывает цикл. Взгляните на пример ниже. Допустим, вы хотите напечатать список всех нечетных чисел, но вы хотите, чтобы цикл останавливался, как только число превысит 10. В этом случае вы, конечно, можете указать диапазон, но другой вариант — выйти из цикл с оператором break.

number = 1  # Инициализация 

while True:  # Пока истина
    print(number)  # Выводим цифры
    number += 2  # Инкриментируем на 2

    # Если число меньше 10, выходим из цикла
    if number > 10:
        break
        # Выход
        print(number)  # Выводим последнее число

Результат:

> 1
> 3
> 5
> 7
> 9

В этом примере вы увидите, что операторы после разрыва не выполняются. Итак, здесь код остановится до того, как напечатает 11. Оператор break также можно использовать в цикле for. Предположим, вы печатаете слова из списка. Если слово совпадает, слово «выход» не будет напечатано, и цикл завершится. Следующий код демонстрирует эту идею.

words = ['Дождь', 'Солнце', 'Луна', 'Выход', 'Погода']

for word in words:
    # проверяем слова
    if word == 'Выход':
        # если истина, выходим из цикла
        break
    # печатаем слова
    print(word)

Результат:

> Дождь
> Солнце
> Луна

2. Оператор continue 

Оператор continue используется для пропуска итерации цикла при выполнении условия. 

Рабочий пример 

Давайте возьмем пример здесь. В приведенном ниже фрагменте кода мы выводим все числа от 1 до 10. Но когда итерация достигает числа 7, я хочу пропустить ее и перейти к выводу 8.

numbers = range(1, 11)
'''
the range(a,b) function creates a list of number 1 to (b-1)
So, in this case it would generate
numbers from 1 to 10
'''
for number in numbers:
    # check the skipping condition
    if number == 7:
        # this statement will be executed
        print('7 is skipped')
        continue
        # this statement won't be executed
        print('This won\'t be printed')

    # print the values
    # for example:
    # 2 is double of 1
    print(number * 2),
    print('is double of'),
    print(number)

Результат:

> 2
 is double of
 1
> 4
 is double of
 2
> 6
 is double of
 3
> 8
 is double of
 4
> 10
 is double of
 5
> 12
 is double of
 6
> 7 is skipped
 
> 16
 is double of
 8
> 18
 is double of
 9
> 20
 is double of
 10

Давайте рассмотрим тот же пример с циклом while.

numbers = [ 1, 2, 4, 3, 6, 5, 7, 10, 9 ]
pos = 0 #initial position is one
while pos < len(numbers):
        #checking skipping condition if number is divisible by two, it is even
        if numbers[pos] % 2 == 0 :
                #increment the position by one
                pos = pos + 1
                continue
        #print the odd number
        print (numbers[pos])
        #increment the position by one
        pos = pos + 1

Результат:

> 1
> 3
> 5
> 7
> 9

Источником послужил сайт pythonim.ru

Теги записи: Python, Break, Continue,
Комментарии к статье 0
Комментариев нет
Форма добавления комментария (необходима регистрация)