🔑 Введение
Представьте, что вы даёте инструкцию другу:
«Если на улице дождь — возьми зонт. Иначе — оставь его дома».
Это условие. Именно так программы «думают». Без if компьютер — просто калькулятор: он выполняет команды одинаково для всех данных. Но реальные задачи требуют выбора:
- Если число чётное — делить на 2.
- Если дискриминант ≥ 0 — находить корни.
- Если символ — буква — считать его.
На ЕГЭ условия встречаются в 90% задач. И если вы не поймёте их глубоко — вы потеряете баллы.
🧰 Что вам понадобится?
✅ IDLE (уже установлен с Python)
✅ Новый файл .py для каждой программы
✅ Терпение — мы будем тестировать каждую строчку
📌 Часть 1. Отступы в if: почему они не просто «красивость», а закон
Что такое отступ?
В Python отступ — это часть синтаксиса, а не просто способ сделать код красивым. В отличие от других языков (например, C++ или Java), где блоки кода выделяются фигурными скобками {}, в Python блок определяется отступом.
Рассмотрим простой пример:
Давайте разберём каждую строку:
🔹 Строка 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.
- Она выполнится в любом случае — вне зависимости от того, было ли условие истинным.
Результат выполнения:
Python требует отступ после if. Это не рекомендация — это правило языка.
✅ Правило: После if, elif, else — двоеточие.
Следующая строка — обязательный отступ (4 пробела).
Конец блока — возврат к предыдущему уровню отступа.
📌 Часть 2. Логические выражения: основа условий
Прежде чем писать if, нужно понять, что проверяется.
Логический тип (bool)
В Python есть специальный тип — bool. У него всего два значения:
- True (истина)
- False (ложь)
Они не строки! Не числа! Это особый тип.
Как получаются True и False?
Через операторы сравнения:
⚠️ Ошибка новичков: путают = и ==.= — присвоение (a = 5)
== — сравнение (if a == 5:)
📊 Таблица типичные логические выражения
💡 Пояснение:
and — оба условия должны быть True
or — хотя бы одно True
not — меняет True на False и наоборот
📌 Часть 3. Формы условий: if, if-else, if-elif-else — пошагово
Форма 1: Только if
Пошаговое выполнение:
- Переменная temperature получает значение 30.
- Проверяется условие: 30 > 25 → True.
- Так как условие истинно, выполняется тело if:Выводится строка 'Жарко!'.
- Если бы temperature была, например, 20, условие было бы False, и ничего бы не произошло.
💡 Когда использовать? Когда действие нужно только при выполнении условия, а иначе — ничего делать не надо.
Форма 2: if-else
Пошаговое выполнение:
- age = 16
- Проверяется 16 >= 18 → False
- Так как условие ложно, пропускается блок if
- Выполняется блок else:Выводится 'Ещё нельзя'
🔹 Структура: Если условие True → выполняется if
Если False → выполняется else
Обязательно выполняется одна из веток
⚠️ Отступы в else:
else пишется на том же уровне, что и if
После else: — новая строка с отступом
Форма 3: if-elif-else (много условий)
Расчёт подоходного налога в зависимости от дохода
Пошаговое выполнение:
- income = 50000
- Проверяется первое условие: 50000 < 0 → False → переходим к elif
- Второе: 50000 < 8925 → False → следующий elif
- Третье: 50000 < 36250 → False → следующий elif
- Четвёртое: 50000 < 87850 → True → выполняем:rate = 0.25
остальные условия (включая else) пропускаются! - Вычисляется tax = 50000 * 0.25 = 12500.0
- Вывод: Налог: 12500.00 руб.
💡 Ключевой принцип: Условия проверяются сверху вниз
Как только одно условие становится True — все остальные игнорируются
else — «все остальные случаи»
🔹 Отступы в elif:elif и else всегда на том же уровне, что и if
Каждое тело — с новым отступом
Запись на занятия здесь: https://t.me/nka39
Программа 1: Орёл или решка
Что делает random.randrange(0, 2)?
- Возвращает одно случайное число из диапазона [0, 1].
- Возможные результаты: 0 или 1.
- Вероятность каждого — 50%.
Почему == 0?
- Это условие: если выпало 0 → орёл.
- Можно было написать == 1 → тогда 0 был бы решкой. Это условность.
Программа 2: Квадратное уравнение
Пошагово:
- Коэффициенты: a=1, b=-3, c=2
- Вычисляем дискриминант:
D = (-3)^2 - 4*1*2 = 9 - 8 = 1.0 - Условие: 1.0 < 0.0 → False
- Выполняется else:d = sqrt(1.0) = 1.0
root1 = (3 + 1) / 2 = 2.0
root2 = (3 - 1) / 2 = 1.0
Вывод
💡 Защита от ошибки: если D < 0, math.sqrt() вызовет ошибку. Поэтому обязательна проверка.
📌 Часть 5. Логические операторы:
Приоритет операций
Cравнения выполняются первыми, затем not, and, or.
Порядок (от высшего к низшему):
- ==, !=, <, <=, >, >=
- not
- and
- or
Пример:
Эквивалентно:
✅ Совет: всегда ставьте скобки, если сомневаетесь!
Пример: Защита от деления на ноль
Пошагово:
- den = 0
- Условие: 0 == 0 → True
- Выводится сообщение об ошибке
- Оператор % не выполняется — программа не падает
📌 Часть 6. Условия со строками
Сравнение строк
Как работает?
- Python сравнивает символы по порядку
- 'А' == 'А', 'н' == 'н', 'н' == 'н', 'а' == 'а' → True
Поиск подстроки
- Оператор in возвращает True, если подстрока содержится в строке.
📌 Часть 7. Вложенные условия — осторожно!
Можно помещать if внутрь другого if:
Пошагово:
- x = 10 > 0 → True → заходим в первый if
- y = 5 > 0 → True → заходим во вложенный if
- Вывод: 'Оба положительны'
⚠️ Осторожно: слишком глубокая вложенность усложняет код.
Лучше использовать and:
📋 Чек-лист: что вы должны уметь после этой статьи?
✅ Писать 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 → 'Отлично'