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

if, elif, else — ветвление программы и правила отступов

⏱ ~12 мин чтения· 📘 Базовый

Отступы в Python

В отличие от многих языков, Python не использует фигурные скобки {} для выделения блоков. Вместо этого блок кода определяется отступами (4 пробела):

if True:
    print("Этот код внутри if")
    print("Это тоже внутри if")
print("А это уже вне блока if")

После двоеточия : следующая строка обязательно должна иметь отступ (4 пробела). Все строки с одинаковым отступом принадлежат одному блоку.

⚠️ Важно: Стандарт PEP 8: используйте ровно 4 пробела для каждого уровня отступа. Не смешивайте табуляцию и пробелы!

Простой if

Условный оператор if выполняет блок кода, если условие истинно:

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

if-else

Команды после else выполняются, если условие после if ложно:

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

if-elif-else

elif (сокращение от else if) позволяет проверить несколько условий:

score = 85

if score >= 90:
    grade = "Отлично"
elif score >= 75:
    grade = "Хорошо"
elif score >= 60:
    grade = "Удовлетворительно"
else:
    grade = "Неудовлетворительно"

print(f"Оценка: {grade}")  # Хорошо

Условия проверяются сверху вниз. Как только находится истинное, остальные пропускаются.

Тернарный оператор

Короткая запись if-else в одну строку:

age = 20
status = "Взрослый" if age >= 18 else "Ребёнок"
print(status)  # Взрослый

Операторы сравнения

ОператорЗначениеПример
==Равно5 == 5 > True
!=Не равно5 != 3 > True
>Больше5 > 3 > True
<Меньше5 < 3 > False
>=Больше или равно5 >= 5 > True
<=Меньше или равно5 <= 3 > False

Распространённые ошибки с отступами

  • IndentationError: unexpected indent — лишний отступ там, где он не нужен
  • IndentationError: expected an indented block — отсутствует отступ после if, for, def и т.д.
  • Смешивание табуляции и пробелов приводит к трудноуловимым ошибкам
# Ошибка: нет отступа после if
if True:
print("Ошибка!")

💡 Совет: VS Code (Shift+Alt+F) и PyCharm (Ctrl+Alt+L) умеют автоформатировать отступы. Включите Format On Save в настройках редактора.