Подробное объяснение:
1️⃣ Цикл for i in range(3) запускается: i принимает значения 0, 1, 2.
2️⃣ На итерации i = 0 условие if i == 1 ложно — цикл продолжается.
3️⃣ На итерации i = 1 условие истинно — выполняется break.
4️⃣ break немедленно прерывает цикл.
5️⃣ Блок else цикла проверяется только при нормальном завершении (без break).
6️⃣ Поскольку был break, блок else пропускается.
7️⃣ Выполняется print("done") → на экране одно слово: done.
Почему это важно:
Многие разработчики (даже опытные) думают, что else в цикле — это "если условие в цикле не сработало". На самом деле это "если цикл дошёл до конца". Путаница приводит к багам в поиске и валидации данных. for/else — полезный паттерн, но с контринтуитивным синтаксисом.
Post #4735
712
- ✍ 2