Операторы continue и break в Python – для чего предназначены
Сегодня мы узнаем об операторах continue и break в Python. Они нужны для изменения потока цикла.
Оператор continue в Python
Оператор continue в Python используется для перевода управления программой в начало цикла. Оператор continue пропускает оставшиеся строки кода внутри цикла и запускает следующую итерацию. В основном он используется для определенного условия внутри цикла, чтобы мы могли пропустить конкретный код для определенного условия.
#loop statements continue #the code to be skipped
Диаграмма потока
Рассмотрим следующие примеры.
i = 0 while(i < 10): i = i+1 if(i == 5): continue print(i)
1 2 3 4 6 7 8 9 10
Обратите внимание на вывод приведенного выше кода, значение 5 пропущено, потому что мы предоставили условие if с помощью оператора continue в цикле while. Когда он соответствует заданному условию, тогда управление передается в начало цикла while, и оно пропускает значение 5 из кода.
Давайте посмотрим на другой пример.
str = "JavaTpoint" for i in str: if(i == 'T'): continue print(i)
J a v a p o i n t
Оператор pass
Оператор pass является нулевой операцией, поскольку при ее выполнении ничего не происходит. Он используется в тех случаях, когда оператор синтаксически необходим, но мы не хотим использовать на его месте какой-либо оператор.
Например, его можно использовать при переопределении метода родительского класса в подклассе, но не нужно указывать его конкретную реализацию в подклассе.
Pass также используется там, где код будет где-то написан, но еще не записан в программном файле.
list = [1,2,3,4,5] flag = 0 for i in list: print("Current element:",i,end=" "); if i==3: pass print("\nWe are inside pass block\n"); flag = 1 if flag==1: print("\nCame out of pass\n"); flag=0
Current element: 1 Current element: 2 Current element: 3 We are inside pass block Came out of pass Current element: 4 Current element: 5
Мы узнаем больше об операторе pass в следующем руководстве.
Оператор break в Python
Break – это ключевое слово в Python, которое используется для вывода управления программой из цикла. Оператор break разрывает циклы один за другим, т. е. в случае вложенных циклов сначала прерывает внутренний цикл, а затем переходит к внешним циклам. Другими словами, мы можем сказать, что break используется для прерывания текущего выполнения программы, и управление переходит к следующей строке после цикла.
Break обычно используется в тех случаях, когда нужно разорвать цикл для заданного условия.
Синтаксис разрыва приведен ниже.
#loop statements break;
list =[1,2,3,4] count = 1; for i in list: if i == 4: print("item matched") count = count + 1; break print("found at",count,"location");
item matched found at 2 location
str = "python" for i in str: if i == 'o': break print(i);
p y t h
Пример 3: оператор break с циклом while.
i = 0; while 1: print(i," ",end=""), i=i+1; if i == 10: break; print("came out of while loop");
0 1 2 3 4 5 6 7 8 9 came out of while loop
n=2 while 1: i=1; while i2 X 1 = 2 2 X 2 = 4 2 X 3 = 6 2 X 4 = 8 2 X 5 = 10 2 X 6 = 12 2 X 7 = 14 2 X 8 = 16 2 X 9 = 18 2 X 10 = 20 Do you want to continue printing the table, press 0 for no?1 3 X 1 = 3 3 X 2 = 6 3 X 3 = 9 3 X 4 = 12 3 X 5 = 15 3 X 6 = 18 3 X 7 = 21 3 X 8 = 24 3 X 9 = 27 3 X 10 = 30 Do you want to continue printing the table, press 0 for no?0Как использовать команду continue python
Скачай курс
в приложенииПерейти в приложение
Открыть мобильную версию сайта© 2013 — 2023. Stepik
Наши условия использования и конфиденциальности
Public user contributions licensed under cc-wiki license with attribution required
Операторы циклов break, continue и else
То такой цикл будет работать «вечно», он сам никогда не остановится и строчку «завершение цикла» мы не увидим. Программу в этом случае можно только прервать и полностью остановить. Однако, если записать в тело цикла оператор break, то он прервется, как только встретится:
while True: i += 1 breakОбратите внимание, оператор i += 1 один раз будет выполнен, а прерывание сработает только в строчке с оператором break. Но вы скажете, конечно, зачем писать программы с «вечными» циклами, нужно корректно прописывать условие и все будет хорошо? Часто, именно так и следует поступать. Но бывают ситуации, когда все же требуется досрочно прерывать работу цикла. Например, у нас имеется список с числами:
d = [1, 5, 3, 6, 0, -4]И мы хотим определить, есть ли среди них хотя бы одно четное значение. Здесь удобно воспользоваться оператором break. Как только встретим первое четное значение, дальнейшую проверку можно не проводить:
d = [1, 5, 3, 6, 0, -4] flFind = False i = 0 while i len(d): flFind = d[i] % 2 == 0 if flFind: break i += 1 print(flFind)Конечно, эту же программу можно было бы построить и без break, используя составное условие:
i = 0 while i len(d) and d[i] % 2 != 0: i += 1 flFind = i != len(d)Но, на мой взгляд, первый вариант с break красивее и понятнее, чем второй. Хотя, все дело вкуса – кому, как нравится. Я, думаю, что принцип работы оператора break понятен. Он прерывает работу любого оператора цикла, как только выполнение программы перейдет к нему. Следующий оператор continue позволяет пропускать одну итерацию тела цикла. Давайте, опять же, на конкретном примере посмотрим, где и как его целесообразно применять. Предположим, что мы просим пользователя вводить с клавиатуры числа и все нечетные значения суммируем. Как только пользователь введет 0, подсчет суммы прекращается. Реализовать эту программу удобно, следующим образом:
s = 0 d = 1 while d != 0: d = int(input("Введите целое число: ")) if d % 2 == 0: continue s += d print("s = " + str(s))Смотрите, мы здесь на каждой итерации цикла проверяем, если текущее значение d четное, то последующий подсчет суммы и вывод ее в консоль не выполняется, пропускается. При этом, цикл продолжает свою работу и переходит к следующей итерации, пока пользователь не введет число 0. Благодаря оператору continue мы основную логику программы прописываем непосредственно в теле цикла, а не во вложенном блоке условного оператора. То есть, если программу переписать без continue, то она бы выглядела так:
s = 0 d = 1 while d != 0: d = int(input("Введите целое число: ")) if d % 2 != 0: s += d print("s = " + str(s))
Здесь получается массивный вложенный блок операторов. Конечно, на производительность это никак не влияет, но, все же такие вложения лучше избегать, так программа становится менее читабельной и удобной для дальнейшего редактирования. В заключение этого занятия рассмотрим третий оператор циклов else. Да, мы уже говорили об этом операторе, когда рассматривали условия. У циклов он тоже есть и сейчас разберем, как работает. Синтаксис этого оператора, следующий. После тела цикла прописывается необязательный оператор else, в котором указываются операторы, исполняющиеся после завершения цикла: И здесь возникает вопрос: а чем блок else отличается от блока операторов, просто идущих после блока while? Ведь когда цикл while завершается, мы так и так переходим к последующим операторам! Но обратите внимание вот на эту на фразу «штатное завершение цикла». Штатное завершение – это когда условие цикла стало равно False и оператор while прекращает свою работу. Только в этом случае мы перейдем в блок else. Давайте я покажу это на конкретном примере. Предположим, что мы вычисляем сумму вида: S = 1/2 + 1/3 + 1/4 + 1/10 + … + 1/0 И если в этом сумме встречается деление на ноль, то вычисления следует прервать. Реализуем эту программу, следующим образом:
S=0 i=-10 while i 100: if i == 0: break S += 1/i i += 1 else: print("Сумма вычислена корректно") print(S)Python с нуля — часть 5: циклы – оператор continue
Оператор continue в Python возвращает выполнение кода к началу цикла при срабатывании заданного условия как истина (true).
Он может быть использован как в цикле while , так и цикле for .
Синтаксис
continue
Пример
for letter in 'Python': # First Example if letter == 'h': continue print 'Current Letter :', letter var = 10 # Second Example while var > 0: var = var -1 if var == 5: continue print 'Current variable value :', var print "Good bye!"Current Letter : P Current Letter : y Current Letter : t Current Letter : o Current Letter : n Current variable value : 9 Current variable value : 8 Current variable value : 7 Current variable value : 6 Current variable value : 4 Current variable value : 3 Current variable value : 2 Current variable value : 1 Current variable value : 0 Good bye!Примечание: более наглядным был бы такой пример:
for num in range(2, 10): if num % 2 == 0: print "Found an even number", num continue print "Found a number", numИ результат его выполнения:
Found an even number 2 Found a number 3 Found an even number 4 Found a number 5 Found an even number 6 Found a number 7 Found an even number 8 Found a number 9
8 195 views







