Лекция
Условия в Python: if/else, вложенность и тернарный оператор
Изучите, как использовать условия if/else в Python для принятия решений в программах.
- Python
- условия
- if else
- вложенные условия
- тернарный оператор
- программирование
- алгоритмы
Для звонков по России
Личный кабинет
Лекция
Изучите, как использовать условия if/else в Python для принятия решений в программах.
Подскажем по теме, разберём задание и поможем довести работу до результата.
До сих пор мы представляли программу как линейный рецепт: взять муку, добавить воду, замесить тесто. Реальные инструкции редко бывают такими прямыми. Представьте приготовление омлета: «Если яйца свежие — разбить их в миску, иначе — использовать яичный порошок». Здесь перед нами развилка, где исполнитель должен выбрать один из путей в зависимости от проверки факта.
В программировании такие конструкции называются ветвлениями. Точка принятия решения — это условие, булево выражение из лекции про операторы сравнения (например, age > 18 или temperature == 100). Результат вычисления всегда «да» (истина, True) или «нет» (ложь, False). Если условие истинно, выполняется блок A; если ложно — блок B. После этого поток снова сходится в общую точку, и программа продолжается дальше.
Диаграмма загружается…
Благодаря ветвлениям программа адаптируется к различным входным данным, становясь гибкой и интеллектуальной. Дальше разберём конкретный синтаксис записи таких проверок в Python.
Условное ветвление в Python начинается с ключевого слова if. После условия обязательно ставится двоеточие — без этого символа интерпретатор выдаст синтаксическую ошибку. Следующая строка должна иметь отступ (обычно 4 пробела), формируя блок кода, который выполняется только при истинном условии.
is_ready = True
if is_ready:
print("Можно подавать")
temperature = 65
Если условие ложно, срабатывает блок else — ключевое слово, буквально означающее «иначе». Эта ветвь выполняется только тогда, когда предыдущая проверка вернула False.
if temperature > 80:
print("Остудить")
else:
print("Температура нормальная")
Для проверки нескольких условий подряд используют elif (сокращение от else if). Классический пример — регулировка духовки: слишком низкая, нормальная или слишком высокая температура требуют разных действий.
oven_temp = 160
if oven_temp < 180:
print("Нагреть сильнее")
elif oven_temp == 180:
print("Идеально для выпечки")
else:
print("Снизить огонь")
Диаграмма загружается…
Отступы определяют границы каждого блока, а двоеточие отмечает начало вложенного кода. Именно нарушение этих правил — отсутствие отступа или двоеточия — чаще всего вызывает ошибки у начинающих.
Одного if хватает не всегда. Представьте проверку теста: сначала смотрим, поднялось ли тесто, и только потом — не подгорело ли оно. Так работает вложенность.
dough_risen = True
dough_burnt = False
if dough_risen:
if not dough_burnt:
print("Готово")
Ловушка «ёлочки». Глубокая вложенность сдвигает код вправо и портит читаемость — такая структура считается антипаттерном.
Чтобы избежать лишних уровней, используют логические операторы: and (И), or (ИЛИ), not (НЕ).
| A | B | A and B | A or B | Пример |
|---|---|---|---|---|
| Истина | Истина | Истина | Истина | Соль И перец |
| Истина | Ложь | Ложь | Истина | Сахар ИЛИ мёд |
| Ложь | Истина | Ложь | Истина | —"— |
| Ложь | Ложь | Ложь | Ложь | Ничего нет |
if dough_risen and not dough_burnt:
print("Готово")
Теперь код плоский, без глубоких отступов, и воспринимается как одно целое.
Если выбор стоит между двумя значениями, полноценный if-else — всё равно что раскладывать стол ради перекуса. Python записывает такие случаи компактно:
результат = значение_если_да if условие else значение_если_нет
Пример с выбором напитка:
has_coffee = True
drink = 'кофе' if has_coffee else 'чай'
Важно: избегайте вложенных тернарных операторов. Цепочка вида a if x else b if y else c превращает код в лабиринт. Используйте эту форму только для простого выбора между двумя значениями, не для выполнения блоков кода. Когда требуется больше одной операции — возвращайтесь к классическому if.