Learnly
Python с нуля/Глава 5/Урок 1

Условия: программа принимает решения

Условия: программа принимает решения

До этого момента наши программы выполнялись строго сверху вниз. Но реальные программы умеют выбирать, делать одно или другое в зависимости от ситуации.

Зачем нужны условия

Представь светофор. Он смотрит на сигнал и принимает решение: если красный, стоп, если зелёный, езжай. Это и есть условная логика.

В программировании условия позволяют программе реагировать на данные. Без условий программа делала бы одно и то же при любых входных данных.

Синтаксис 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 какой код к какому блоку относится.