Ничего не будет напечатано. Первая итерация получает idx=0, сразу выполняет break и завершает весь цикл до достижения print(idx).
Какой результат будет у цикла с оператором break
Ничего не будет напечатано. Первая итерация получает 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. В исходном фрагменте нет операций вывода после цикла.