Python

If, else и elif в Python

if, elif и else в Python управляют ветвлением: программа проверяет условия сверху вниз и выполняет первый подходящий блок

Эти конструкции нужны для проверки ввода, скидок, статусов, прав доступа, ошибок и любых ситуаций, где поведение зависит от данных

По этой теме полезно отдельно посмотреть Составьте еженедельное расписание занятий, чтобы расширить контекст и сравнить подходы

По этой теме полезно отдельно посмотреть Аннотации типов для декораторов в Python, чтобы расширить контекст и сравнить подходы

Базовый пример

score = 76

if score >= 90:
    print('отлично')
elif score >= 60:
    print('зачет')
else:
    print('повторить')

Вывод:

зачет

Python проверяет первое условие. Если оно ложное, переходит к elif. Если ни одно условие не подошло, выполняется else

Порядок условий важен

Плохой порядок:

score = 95

if score >= 60:
    print('зачет')
elif score >= 90:
    print('отлично')

Для 95 программа выведет зачет, потому что первое условие уже подошло

Правильнее:

score = 95

if score >= 90:
    print('отлично')
elif score >= 60:
    print('зачет')
else:
    print('повторить')

Более точные условия обычно ставят выше

Сравнения

x == y
x != y
x > y
x >= y
x < y
x <= y

== сравнивает значения

= присваивает значение переменной

Одна из частых ошибок новичков — случайно путать эти записи

and, or, not

age = 20
has_ticket = True

if age >= 18 and has_ticket:
    print('можно войти')

and требует выполнения обоих условий

or требует хотя бы одно истинное условие

not переворачивает логическое значение

is_blocked = False

if not is_blocked:
    print('доступ открыт')

Проверка ввода

name = input('Имя: ').strip()

if not name:
    print('имя не введено')
else:
    print(f'Привет, {name}')

Пустая строка считается ложным значением, поэтому if not name удобно использовать для проверки ввода

Валидация заказа

total = 1200
is_paid = True

if total <= 0:
    print('пустой заказ')
elif not is_paid:
    print('ожидает оплаты')
else:
    print('можно отправлять')

Этот пример ближе к реальной логике: сначала проверяются ошибки, потом нормальный сценарий

Вложенный if или elif

Вложенный вариант:

age = 20
has_ticket = True

if age >= 18:
    if has_ticket:
        print('можно войти')

Часто его можно заменить более простой записью:

if age >= 18 and has_ticket:
    print('можно войти')

Вложенность нужна не всегда. Если код уходит слишком далеко вправо, проверьте, можно ли упростить условия

Частые ошибки

  • забывать двоеточие после условия
  • ставить неправильные отступы
  • путать = и ==
  • писать условия в неверном порядке
  • делать слишком длинное условие в одну строку
  • проверять только один идеальный случай
  • забывать ветку else, когда нужен понятный ответ для остальных случаев

Практика

Сделайте три задачи

  1. Проверка возраста: до 18, от 18 до 64, 65 и старше
  2. Скидка: от 5000 рублей — 5%, от 10000 — 10%
  3. Ввод имени: пустое имя не принимается

Что читать дальше

Для ввода данных пользователем откройте Input в Python: как получить данные от пользователя

Для повторения базовых конструкций пригодится Шпаргалка по Python

if, elif и else позволяют Python выбирать поведение по условиям

Проверки идут сверху вниз, поэтому порядок условий важен. Сначала ставьте более точные или критичные проверки, а в else оставляйте общий вариант

Подписаться
Уведомить о
guest
0 комментариев
Старые
Новые Популярные

Настройки cookie

0
Оставьте комментарий! Напишите, что думаете по поводу статьи.x