Условия: программа принимает решения
До этого момента наши программы выполнялись строго сверху вниз. Но реальные программы умеют выбирать, делать одно или другое в зависимости от ситуации.
Зачем нужны условия
Представь светофор. Он смотрит на сигнал и принимает решение: если красный, стоп, если зелёный, езжай. Это и есть условная логика.
В программировании условия позволяют программе реагировать на данные. Без условий программа делала бы одно и то же при любых входных данных.
Синтаксис if
if условие:
что делать если условие верно
Пример:
temperature = -5
if temperature < 0:
print("Надень куртку!")
Важно: отступ (4 пробела) перед print, это не украшение. Это то, как Python понимает что строка принадлежит блоку if. Без отступа, ошибка.
if / else
Что делать если условие НЕ выполняется:
age = 16
if age >= 18:
print("Добро пожаловать!")
else:
print("Вход только для совершеннолетних")
Программа идёт по одному из двух путей, и только по одному.
if / elif / else
Когда вариантов больше двух:
score = 75
if score >= 90:
print("Отлично!")
elif score >= 75:
print("Хорошо")
elif score >= 60:
print("Удовлетворительно")
else:
print("Нужно поработать над результатом")
Python проверяет условия сверху вниз и останавливается на первом истинном. elif, сокращение от "else if".
Операторы сравнения
x = 10
x == 10 # равно (двойное =!)
x != 5 # не равно
x > 8 # больше
x < 15 # меньше
x >= 10 # больше или равно
x <= 10 # меньше или равно
Частая ошибка: написать = вместо ==. Одно =, это присваивание, два ==, это сравнение.
Логические операторы
age = 20
has_ticket = True
# and, оба условия должны быть True
if age >= 18 and has_ticket:
print("Проходите!")
# or, хотя бы одно условие True
day = "суббота"
if day == "суббота" or day == "воскресенье":
print("Выходной!")
# not, инвертирует
is_blocked = False
if not is_blocked:
print("Пользователь активен")
💡 Главная мысль: Условия, это то, как программа принимает решения.
ifпроверяет условие и выполняет нужный блок кода. Отступы, обязательны, они показывают Python какой код к какому блоку относится.