Ничего не будет напечатано: первое значение range(5) равно 0, поэтому break выполняется раньше print.
Какие числа выведет цикл с оператором break
Ничего не будет напечатано: первое значение range(5) равно 0, поэтому break выполняется раньше print.
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
Условие
Рассмотрите представленный фрагмент кода и определите, какие числа будут напечатаны при его выполнении.
for idx in range(5):
if idx == 0:
break
print(idx)
Ответ
Ничего не будет напечатано: первое значение range(5) равно 0, поэтому break выполняется раньше print.
Цикл получает значения 0, 1, 2, 3, 4. Уже на первой итерации условие idx == 0 истинно, и break немедленно завершает весь цикл. Выполнение не переходит ни к print(0), ни к следующим значениям.
Если автор хотел пропустить только ноль и вывести 1–4, нужен continue:
for idx in range(5):
if idx == 0:
continue
print(idx)
Разница принципиальна: break завершает цикл, а continue завершает только текущую итерацию.