Добавить в корзинуПозвонить
Найти в Дзене

🐍 Python для ЕГЭ - часть 2: Условия (if) — как программа принимает решения

Представьте, что вы даёте инструкцию другу: «Если на улице дождь — возьми зонт. Иначе — оставь его дома». Это условие. Именно так программы «думают». Без if компьютер — просто калькулятор: он выполняет команды одинаково для всех данных. Но реальные задачи требуют выбора: На ЕГЭ условия встречаются в 90% задач. И если вы не поймёте их глубоко — вы потеряете баллы. ✅ IDLE (уже установлен с Python)
✅ Новый файл .py для каждой программы
✅ Терпение — мы будем тестировать каждую строчку Что такое отступ? В Python отступ — это часть синтаксиса, а не просто способ сделать код красивым. В отличие от других языков (например, C++ или Java), где блоки кода выделяются фигурными скобками {}, в Python блок определяется отступом. Рассмотрим простой пример: Давайте разберём каждую строку: 🔹 Строка 1: x = -5 🔹 Строка 2: if x < 0: ⚠️ Ошибка новичка: забыть двоеточие → SyntaxError. 🔹 Строка 3: x = -x Что происходит внутри: 💡 Это и есть вычисление абсолютного значения. 🔹 Строка 4: print(x) Результат
Оглавление

🔑 Введение

Представьте, что вы даёте инструкцию другу:

«Если на улице дождь — возьми зонт. Иначе — оставь его дома».

Это условие. Именно так программы «думают». Без if компьютер — просто калькулятор: он выполняет команды одинаково для всех данных. Но реальные задачи требуют выбора:

  • Если число чётное — делить на 2.
  • Если дискриминант ≥ 0 — находить корни.
  • Если символ — буква — считать его.

На ЕГЭ условия встречаются в 90% задач. И если вы не поймёте их глубоко — вы потеряете баллы.

🧰 Что вам понадобится?

IDLE (уже установлен с Python)
Новый файл .py для каждой программы
Терпение — мы будем тестировать каждую строчку

📌 Часть 1. Отступы в if: почему они не просто «красивость», а закон

Что такое отступ?

В Python отступ — это часть синтаксиса, а не просто способ сделать код красивым. В отличие от других языков (например, C++ или Java), где блоки кода выделяются фигурными скобками {}, в Python блок определяется отступом.

Рассмотрим простой пример:

-2

Давайте разберём каждую строку:

🔹 Строка 1: x = -5

  • Создаётся переменная x.
  • Ей присваивается целое число -5.
  • Теперь x ссылается на объект типа int со значением -5.

🔹 Строка 2: if x < 0:

  • Это начало условного оператора.
  • Выражение x < 0 проверяется: Подставляем значение: -5 < 0 → True.
  • Двоеточие : в конце — обязательно. Оно говорит Python: «Сейчас начнётся блок кода, который нужно выполнить, если условие истинно».
⚠️ Ошибка новичка: забыть двоеточие → SyntaxError.

🔹 Строка 3: x = -x

  • Это тело условия.
  • Оно начинается с отступа (4 пробела).
  • Именно отступ говорит Python: «Эта строка принадлежит блоку if».
  • Если бы отступа не было, Python считал бы, что строка находится вне условия.

Что происходит внутри:

  • Берётся текущее значение x → -5.
  • Вычисляется -x → -(-5) → 5.
  • Результат 5 присваивается обратно переменной x.
💡 Это и есть вычисление абсолютного значения.

🔹 Строка 4: print(x)

  • Эта строка не имеет отступа.
  • Значит, она не входит в блок if.
  • Она выполнится в любом случае — вне зависимости от того, было ли условие истинным.

Результат выполнения:

-3

Python требует отступ после if. Это не рекомендация — это правило языка.

Правило: После if, elif, else — двоеточие.
Следующая строка —
обязательный отступ (4 пробела).
Конец блока —
возврат к предыдущему уровню отступа.

📌 Часть 2. Логические выражения: основа условий

Прежде чем писать if, нужно понять, что проверяется.

Логический тип (bool)

В Python есть специальный тип — bool. У него всего два значения:

  • True (истина)
  • False (ложь)

Они не строки! Не числа! Это особый тип.

-4

Как получаются True и False?

Через операторы сравнения:

-5
⚠️ Ошибка новичков: путают = и ==.= — присвоение (a = 5)
== — сравнение (if a == 5:)

📊 Таблица типичные логические выражения

-6
💡 Пояснение:
and — оба условия должны быть True
or — хотя бы одно True
not — меняет True на False и наоборот
-7

📌 Часть 3. Формы условий: if, if-else, if-elif-else — пошагово

Форма 1: Только if

-8

Пошаговое выполнение:

  1. Переменная temperature получает значение 30.
  2. Проверяется условие: 30 > 25 → True.
  3. Так как условие истинно, выполняется тело if:Выводится строка 'Жарко!'.
  4. Если бы temperature была, например, 20, условие было бы False, и ничего бы не произошло.
💡 Когда использовать? Когда действие нужно только при выполнении условия, а иначе — ничего делать не надо.

Форма 2: if-else

-9

Пошаговое выполнение:

  1. age = 16
  2. Проверяется 16 >= 18 → False
  3. Так как условие ложно, пропускается блок if
  4. Выполняется блок else:Выводится 'Ещё нельзя'
🔹 Структура: Если условие True → выполняется if
Если False → выполняется else
Обязательно выполняется одна из веток
⚠️ Отступы в else:
else пишется на том же уровне, что и if
После else: —
новая строка с отступом

Форма 3: if-elif-else (много условий)

Расчёт подоходного налога в зависимости от дохода

-10

Пошаговое выполнение:

  1. income = 50000
  2. Проверяется первое условие: 50000 < 0 → False → переходим к elif
  3. Второе: 50000 < 8925 → False → следующий elif
  4. Третье: 50000 < 36250 → False → следующий elif
  5. Четвёртое: 50000 < 87850 → True → выполняем:rate = 0.25
    остальные условия (включая else) пропускаются!
  6. Вычисляется tax = 50000 * 0.25 = 12500.0
  7. Вывод: Налог: 12500.00 руб.
💡 Ключевой принцип: Условия проверяются сверху вниз
Как только одно условие становится True — все остальные игнорируются
else — «все остальные случаи»
🔹 Отступы в elif:elif и else всегда на том же уровне, что и if
Каждое тело — с новым отступом

-11

Запись на занятия здесь: https://t.me/nka39

Программа 1: Орёл или решка

-12

Что делает random.randrange(0, 2)?

  • Возвращает одно случайное число из диапазона [0, 1].
  • Возможные результаты: 0 или 1.
  • Вероятность каждого — 50%.

Почему == 0?

  • Это условие: если выпало 0 → орёл.
  • Можно было написать == 1 → тогда 0 был бы решкой. Это условность.

Программа 2: Квадратное уравнение

-13

Пошагово:

  1. Коэффициенты: a=1, b=-3, c=2
  2. Вычисляем дискриминант:
    D = (-3)^2 - 4*1*2 = 9 - 8 = 1.0
  3. Условие: 1.0 < 0.0 → False
  4. Выполняется else:d = sqrt(1.0) = 1.0
    root1 = (3 + 1) / 2 = 2.0
    root2 = (3 - 1) / 2 = 1.0

Вывод

-14
💡 Защита от ошибки: если D < 0, math.sqrt() вызовет ошибку. Поэтому обязательна проверка.

📌 Часть 5. Логические операторы:

Приоритет операций

Cравнения выполняются первыми, затем not, and, or.

Порядок (от высшего к низшему):

  1. ==, !=, <, <=, >, >=
  2. not
  3. and
  4. or

Пример:

-15

Эквивалентно:

-16
Совет: всегда ставьте скобки, если сомневаетесь!

Пример: Защита от деления на ноль

-17

Пошагово:

  1. den = 0
  2. Условие: 0 == 0 → True
  3. Выводится сообщение об ошибке
  4. Оператор % не выполняется — программа не падает

📌 Часть 6. Условия со строками

Сравнение строк

-18

Как работает?

  • Python сравнивает символы по порядку
  • 'А' == 'А', 'н' == 'н', 'н' == 'н', 'а' == 'а' → True

Поиск подстроки

-19
  • Оператор in возвращает True, если подстрока содержится в строке.

📌 Часть 7. Вложенные условия — осторожно!

Можно помещать if внутрь другого if:

-20

Пошагово:

  1. x = 10 > 0 → True → заходим в первый if
  2. y = 5 > 0 → True → заходим во вложенный if
  3. Вывод: 'Оба положительны'
⚠️ Осторожно: слишком глубокая вложенность усложняет код.
Лучше использовать and:
-21

📋 Чек-лист: что вы должны уметь после этой статьи?

✅ Писать if, if-else, if-elif-else в IDLE
✅ Использовать все операторы сравнения (==, !=, <, <=, >, >=)
✅ Применять and, or, not правильно
✅ Понимать приоритет логических операций
✅ Защищать программу от деления на ноль и других ошибок
✅ Работать с условиями для строк
Правильно ставить отступы и двоеточия

Если Вам информация была для Вас полезна, то можно поддержать автора, нажав на кнопку "Поддержать".

Подпишитесь на канал и научитесь решать все задания ЕГЭ по информатике!

Удачи на экзамене!

Записаться ко мне на занятия можно тут https://t.me/nka39

📝 Задания для самостоятельной работы

Задание 1. «Чётное или нечётное»

Напишите программу, которая:

  • Присваивает переменной n целое число (например, n = 17)
  • Выводит 'Чётное', если число чётное, и 'Нечётное' — если нет.

💡 Подсказка: используйте n % 2 == 0.

Пошаговая проверка:

  • n = 17
  • 17 % 2 = 1
  • 1 == 0 → False
  • Вывод: 'Нечётное'

Задание 2. «Корни квадратного уравнения»

Напишите программу, которая:

  • Задаёт коэффициенты a = 1, b = -5, c = 6
  • Вычисляет дискриминант
  • Если D < 0 — выводит 'Корней нет'
  • Иначе — выводит оба корня

Проверка:

  • D = 25 - 24 = 1
  • Корни: (5 ± 1)/2 → 3 и 2

Задание 3. «Оценка по баллам»

Напишите программу, которая:

  • Присваивает score = 85
  • Выводит: 'Отлично', если score >= 80
    'Хорошо', если 70 <= score < 80
    'Удовлетворительно', если 60 <= score < 70
    'Неудовлетворительно', если score < 60

Проверка:

  • 85 >= 80 → 'Отлично'