Что выведет на печать этот код?
🔹 Исходный код:
for i in range(5):
if i % 2 == 0:
continue
print(i)
🔹 Что делает этот код?
Этот код:
-
использует цикл for для перебора чисел от 0 до 4 (включительно);
-
внутри цикла проверяет, делится ли i на 2 без остатка (т.е. чётное ли число);
-
если i чётное — с помощью continue пропускает текущую итерацию цикла;
-
если i нечётное — печатает i.
🔹 Разбор построчно
1. for i in range(5):
- Функция range(5) создаёт последовательность от 0 до 4:
➤ [0, 1, 2, 3, 4]
Цикл будет поочерёдно присваивать переменной i каждое из этих значений.
2. if i % 2 == 0:
-
Оператор % — это деление по модулю (остаток от деления).
-
i % 2 == 0 — условие: **является ли число чётным?
**
Примеры:
- 0 % 2 == 0 → True
- 1 % 2 == 1 → False
- 2 % 2 == 0 → True
- 3 % 2 == 1 → False
- 4 % 2 == 0 → True
3. continue
-
Если условие if i % 2 == 0 выполняется, то команда continue прерывает текущую итерацию и переходит к следующей.
-
Всё, что находится после continue в текущем витке цикла, не выполняется.
4. print(i)
-
Доходит до этой строки только если i нечётное (иначе — continue).
-
Будут напечатаны только те значения i, которые нечётные.
🔹 Итерация по шагам
i | i % 2 == 0 | Условие срабатывает? | continue? | print(i)? |
---|---|---|---|---|
0 | 0 == 0 | ✅ Да | ✅ Да | ❌ Нет |
--- | --- | --- | --- | --- |
1 | 1 == 0 | ❌ Нет | ❌ Нет | ✅ Да |
--- | --- | --- | --- | --- |
2 | 2 == 0 | ✅ Да | ✅ Да | ❌ Нет |
--- | --- | --- | --- | --- |
3 | 3 == 0 | ❌ Нет | ❌ Нет | ✅ Да |
--- | --- | --- | --- | --- |
4 | 4 == 0 | ✅ Да | ✅ Да | ❌ Нет |
--- | --- | --- | --- | --- |
🔹 Что выведет программа?
1
3
🔹 Что делает программа в целом?
-
Перебирает числа от 0 до 4.
-
Пропускает чётные числа.
-
Печатает только нечётные.
🔹 Итог
Этот код:
-
выводит на экран нечётные числа от 0 до 4;
-
использует continue для пропуска чётных значений;
-
результат:
1
3