Операторы break и continue

Тренажер по Python для пользователей с начальным уровнем подготовки.

Тренажер по Python

Операторы `break` и `continue` — это мощные инструменты для управления ходом выполнения циклов в Python. Иногда вам не нужно выполнять цикл до самого конца или хочется пропустить некоторые шаги. Оператор `break` позволяет немедленно и полностью выйти из цикла, как только будет выполнено определённое условие. В свою очередь, `continue` прерывает только текущий шаг (итерацию) и переходит к следующему. Этот тренажер поможет вам разобраться в разнице между ними. Вы начнете с простых заданий на использование этих операторов, научитесь предсказывать, как они изменят поведение программы, и в конце сможете собирать из частей более сложные логические конструкции.

Список тем

Досрочный выход из цикла

id: 39986_task_bc_1

Иногда нужно остановить цикл раньше, чем он закончится сам. В этом коде мы ищем первое число, которое больше 3. Вставьте правильный оператор, чтобы прервать цикл сразу после того, как такое число будет найдено и напечатано.

Заполните пропуски
for i in range(10):
    print(i)
    if i > 3:
        input1S
Сообщения
Проверить
Показать решение на 3 сек.
Показать подсказку

Что выведет код с break?

id: 39986_task_bc_2

Внимательно проанализируйте этот цикл. Он перебирает слова в списке. Когда именно он остановится и что успеет вывести на экран до своей остановки?

Выберите правильный вариант ответа
words = ['start', 'process', 'stop', 'end']
for word in words:
    if word == 'stop':
        break
    print(word, end=' ')
Сообщения
Проверить
Показать подсказку

Пропуск итерации с continue

id: 39986_task_bc_3

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

Заполните пропуски
for i in range(5):
    if i == 2:
        input1S
    print(i)
Сообщения
Проверить
Показать решение на 3 сек.
Показать подсказку

Предскажите результат с continue

id: 39986_task_bc_4

Этот код должен обрабатывать данные, но пропускать "поврежденные" записи, отмеченные как -1. Проанализируйте цикл и введите, какие числа будут выведены в итоге. Введите числа через пробел.

Что должно получиться?
data = [10, 20, -1, 30, -1, 40]
for item in data:
    if item == -1:
        continue
    print(item, end=' ')
Сообщения
Проверить
Показать подсказку

Исправьте ошибку в синтаксисе

id: 39986_task_bc_5

Иногда даже опытные программисты допускают опечатки. В этом коде есть ошибка в написании оператора `continue`. Найдите и исправьте ее, чтобы программа работала корректно.

Найдите ошибку и исправьте
# Пропускаем нечетные числа
for i in range(5):
    if i % 2 != 0:
        continue()
    print(i)
Сообщения
Проверить
Показать решение на 3 сек.
Показать подсказку

Сравнение break и continue

id: 39986_task_bc_6

`break` и `continue` управляют ходом цикла, но делают это по-разному. Сопоставьте каждый оператор с его точным описанием действия, чтобы закрепить понимание их различий.

Сопоставьте строки в правой части с соответствующими строками в левой по порядковому номеру
Полностью и немедленно завершает выполнение самого внутреннего цикла, в котором он находится.
Пропускает оставшуюся часть тела цикла для текущей итерации и переходит к следующей.
continue
break
Сообщения
Проверить
Показать подсказку

Поиск первого подходящего элемента

id: 39986_task_bc_7

Соберите из фрагментов программу, которая ищет первое число больше 10 в списке. Как только такое число найдено, программа должна вывести его и немедленно прекратить поиск. Некоторые строки являются лишними.

Перетяните в правильном порядке строки из одного блока в другой
if n > 10:
print(n)
continue
numbers = [2, 8, 12, 5, 25]
break
for n in numbers:
Сообщения
Проверить
Показать решение на 3 сек.
Показать подсказку

Правильный порядок обработки данных

id: 39986_task_bc_8

Восстановите правильный порядок строк. Программа должна перебирать список чисел, пропускать отрицательные с помощью `continue`, прекращать работу при встрече с нулем с помощью `break`, а все подходящие положительные числа добавлять в новый список `positives`.

Расставьте строки в правильном порядке
if num < 0:
positives.append(num)
numbers = [1, 5, -2, 8, 0, 3, -4]
continue
break
positives = []
if num == 0:
for num in numbers:
print(positives)
Сообщения
Проверить
Показать подсказку

Результат break в цикле while

id: 39986_task_bc_9

Циклы `while True` часто используются для создания "бесконечных" циклов, которые работают до выполнения условия выхода. Проанализируйте код. Что будет выведено на экран в итоге?

Выберите правильный вариант ответа
count = 0
while True:
    print(count, end=' ')
    count += 1
    if count >= 3:
        break
Сообщения
Проверить
Показать подсказку
НайтиКурс.Ру