Какой результат будет у цикла с оператором break

Ничего не будет напечатано. Первая итерация получает idx=0, сразу выполняет break и завершает весь цикл до достижения print(idx).

Короткий ответ

Что ответить на собеседовании

Ничего не будет напечатано. Первая итерация получает idx=0, сразу выполняет break и завершает весь цикл до достижения print(idx).

Подробный разбор

Ответ с пояснениями

Условие

Проанализируйте следующий фрагмент кода и укажите, какие числа будут выведены на экран.

for idx in range(5):
    if idx == 0:
        break
    print(idx)

Ответ

Ничего не будет напечатано. Первая итерация получает idx=0, сразу выполняет break и завершает весь цикл до достижения print(idx).

range(5) начинается с нуля. Поэтому условие idx == 0 истинно уже на первом шаге, а до значений 1, 2, 3 и 4 выполнение не доходит.

break отличается от continue: первый полностью покидает ближайший цикл, второй пропускает только остаток текущей итерации. Если заменить здесь break на continue, вывелись бы 1, 2, 3 и 4. В исходном фрагменте нет операций вывода после цикла.

ИИ-помощник для собеседований

Хочешь уверенно проходить собеседования?

Попробуй ИИ-помощник для собеседований: слышит вас и собеседника, анализирует экран, подсказывает ответы в реальном времени, работает без VPN и не попадает в захват экрана.

Подробнее