Условные операторы

Урок 4 из 32

if, elif, else

Пока программа просто выполняет команды одну за другой сверху вниз, она мало чем отличается от калькулятора. Настоящая сила программирования — в способности принимать решения: выполнять один код при одних данных и другой код при других. Для этого служат условные конструкции.

age = 18
if age >= 18:
    print("Вы совершеннолетний")
else:
    print("Вы ребенок")

Внутри условия после if стоит логическое выражение — то, что в итоге даёт True (истина) или False (ложь). Для сравнения используются операторы: == (равно), != (не равно), >, <, >=, <=.

Несколько условий подряд: elif

Если вариантов больше двух, между if и else можно вставлять сколько угодно блоков elif (сокращение от "else if"). Python проверяет условия по порядку сверху вниз и выполняет первый подошедший блок, остальные — пропускает.

score = 75
if score >= 90:
    print("Отлично")
elif score >= 70:
    print("Хорошо")
elif score >= 50:
    print("Удовлетворительно")
else:
    print("Незачёт")
# выведет "Хорошо" — первое подходящее условие

Отступы — это часть синтаксиса

В большинстве языков блоки кода обозначают фигурными скобками { }. В Python вместо этого используются отступы (обычно 4 пробела) — именно по ним интерпретатор понимает, какие строки относятся к телу if, а какие уже находятся "снаружи". Если отступы в одном блоке разные — Python выдаст ошибку IndentationError.

if age >= 18:
    print("Совершеннолетний")   # относится к if — есть отступ
    print("Можно голосовать")   # тоже относится к if
print("Это уже вне if")         # отступа нет — выполнится всегда

Логические операторы and, or, not

Условия можно комбинировать: and — оба условия истинны, or — хотя бы одно, not — переворачивает значение.

age = 25
has_license = True
if age >= 18 and has_license:
    print("Можно за руль")

is_weekend = False
if not is_weekend:
    print("Обычный рабочий день")
⚠️ Частая ошибка: перепутать = и ==. if age = 18: — синтаксическая ошибка, потому что = присваивает значение, а не сравнивает. Для сравнения всегда нужны два знака равенства: if age == 18:.

🧪 Практическое задание

Дано число x = 7. Если x больше 5 — выведите 'Больше пяти', иначе — 'Меньше или равно пяти'.

main.py
Вывод терминала
# Результат появится здесь...