📝 Python

elif в Python: обрабатываем много вариантов 🎛️

0
ავტორი
04e5cc8b-58ac-4bdc-bdee-661bbb
📅
გამოქვეყნებულია
30.03.2026
⏱️
კითხვის დრო
4 წთ
👁️
ნახვები
16
🌱
დონე
საწყისი
🐦 💼 ✈️

Когда if-else не хватает - используй elif! Проверяй несколько условий по порядку.

🤔 Проблема if-else

Представь: нужно проверить несколько вариантов

# ❌ Плохо - много вложенных if
score = 85

if score >= 90:
    print('Отлично!')
else:
    if score >= 80:
        print('Хорошо!')
    else:
        if score >= 70:
            print('Удовлетворительно')
        else:
            print('Плохо')

Сложно читать! Много вложенности!

✨ Решение: elif

elif = “иначе если” (else + if)

# ✅ Хорошо - читается легко
score = 85

if score >= 90:
    print('Отлично!')
elif score >= 80:
    print('Хорошо!')
elif score >= 70:
    print('Удовлетворительно')
else:
    print('Плохо')

Как работает:
1. Проверяет первое условие (score >= 90) - False
2. Проверяет второе условие (score >= 80) - True!
3. Выполняет код для второго условия
4. Останавливается (остальные не проверяет)

📐 Структура

if условие1:
    # Выполнится если условие1 True
elif условие2:
    # Выполнится если условие1 False, а условие2 True
elif условие3:
    # Выполнится если 1 и 2 False, а условие3 True
else:
    # Выполнится если все False

Важно:
- Проверяются по порядку сверху вниз
- Выполнится только ОДИН блок
- else необязателен

🎯 Примеры использования

Пример 1: Оценки

print('📝 Система оценок\\n')

points = int(input('Баллов набрано: '))

if points >= 90:
    grade = 'A'
elif points >= 80:
    grade = 'B'
elif points >= 70:
    grade = 'C'
elif points >= 60:
    grade = 'D'
else:
    grade = 'F'

print(f'Твоя оценка: {grade}')

Пример 2: Калькулятор

print('🧮 Калькулятор\\n')

a = float(input('Первое число: '))
b = float(input('Второе число: '))
operation = input('Операция (+, -, *, /): ')

if operation == '+':
    result = a + b
elif operation == '-':
    result = a - b
elif operation == '*':
    result = a * b
elif operation == '/':
    if b != 0:
        result = a / b
    else:
        result = 'Ошибка: деление на 0'
else:
    result = 'Неизвестная операция'

print(f'\\nРезультат: {result}')

Пример 3: Определение времени суток

hour = int(input('Текущий час (0-23): '))

if hour < 6:
    print('🌙 Ночь - спать пора!')
elif hour < 12:
    print('🌅 Утро - доброе утро!')
elif hour < 18:
    print('☀️ День - добрый день!')
elif hour < 22:
    print('🌆 Вечер - добрый вечер!')
else:
    print('🌙 Поздняя ночь - пора спать!')

Пример 4: BMI с подробностями

print('🧮 Калькулятор BMI\\n')

weight = float(input('Вес (кг): '))
height = float(input('Рост (м): '))

bmi = weight / (height ** 2)

print(f'\\nТвой BMI: {bmi:.1f}')

if bmi < 16:
    print('⚠️ Выраженный дефицит массы')
    print('Обратись к врачу!')
elif bmi < 18.5:
    print('⚠️ Недостаточная масса')
    print('Стоит набрать вес')
elif bmi < 25:
    print('✅ Нормальная масса')
    print('Отлично! Так держать!')
elif bmi < 30:
    print('⚠️ Избыточная масса')
    print('Подумай о диете')
elif bmi < 35:
    print('⚠️ Ожирение 1 степени')
    print('Нужно снизить вес')
elif bmi < 40:
    print('🚨 Ожирение 2 степени')
    print('Обратись к врачу!')
else:
    print('🚨 Ожирение 3 степени')
    print('Срочно к врачу!')

Пример 5: Игра “Камень-Ножницы-Бумага”

import random

choices = {1: 'камень', 2: 'ножницы', 3: 'бумага'}

print('🎮 Камень-Ножницы-Бумага\\n')
print('1 - Камень')
print('2 - Ножницы')
print('3 - Бумага\\n')

player = int(input('Твой выбор: '))
computer = random.randint(1, 3)

print(f'\\nТы: {choices[player]}')
print(f'Компьютер: {choices[computer]}\\n')

if player == computer:
    print('🤝 Ничья!')
elif (player == 1 and computer == 2) or \\
     (player == 2 and computer == 3) or \\
     (player == 3 and computer == 1):
    print('🎉 Ты выиграл!')
else:
    print('😢 Компьютер выиграл!')

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

Ошибка 1: Неправильный порядок

# ❌ Плохо - первое условие перекрывает остальные
age = 15

if age >= 0:
    print('Возраст положительный')
elif age >= 13:
    print('Подросток')  # Никогда не выполнится!
elif age >= 18:
    print('Взрослый')   # Никогда не выполнится!

# ✅ Хорошо - от большего к меньшему
if age >= 18:
    print('Взрослый')
elif age >= 13:
    print('Подросток')
elif age >= 0:
    print('Возраст положительный')

Ошибка 2: Забыли двоеточие

# ❌ Ошибка
if age > 18:
    print('Старше 18')
elif age > 13  # SyntaxError!
    print('Подросток')

# ✅ Правильно
if age > 18:
    print('Старше 18')
elif age > 13:
    print('Подросток')

Ошибка 3: Разные отступы

# ❌ Ошибка
if age > 18:
    print('Старше 18')
  elif age > 13:  # Неправильный отступ!
    print('Подросток')

# ✅ Правильно - все на одном уровне
if age > 18:
    print('Старше 18')
elif age > 13:
    print('Подросток')

🎨 Стиль и читаемость

Плохо

if x>10 and y<5 or z==0:print('test');result=x*2

Хорошо

if (x > 10 and y < 5) or z == 0:
    print('test')
    result = x * 2

Советы:

  • Пробелы вокруг операторов: x > 10 вместо x>10
  • Скобки для сложных условий: (a and b) or c
  • Каждый блок с новой строки
  • Понятные имена переменных

🔄 elif vs несколько if

С elif (выполнится ОДИН блок)

score = 85

if score >= 90:
    print('A')
elif score >= 80:
    print('B')  # Выполнится ЭТО
elif score >= 70:
    print('C')  # Это пропустится

С отдельными if (могут выполниться ВСЕ!)

score = 85

if score >= 90:
    print('A')
if score >= 80:
    print('B')  # Выполнится
if score >= 70:
    print('C')  # И ЭТО тоже!

📋 Шпаргалка

# Структура
if условие1:
    код1
elif условие2:
    код2
elif условие3:
    код3
else:
    код_по_умолчанию

# Правила:
# 1. Проверяются сверху вниз
# 2. Выполнится ТОЛЬКО ОДИН блок
# 3. После выполнения блока - выход
# 4. else необязателен
# 5. elif сколько угодно

# Порядок важен!
# От более специфичного к более общему

🎓 Итог

  • elif = “иначе если”
  • Используй когда нужно проверить несколько вариантов
  • Читается лучше чем вложенные if
  • Выполнится только ОДИН блок (первый True)
  • Порядок условий ВАЖЕН!
  • Проверяй от более специфичного к общему

elif делает код понятным при множестве вариантов! 💪

თქვენი რეაქცია სტატიაზე

💬 კომენტარები (0)

🔐 შედით სისტემაში კომენტარის დასატოვებლად
🚪 შესვლა
💭

კომენტარები ჯერ არ არის

გახდით პირველი, ვინც გააზიარებს აზრს ამ სტატიის შესახებ!

🔗 მსგავსი

მსგავსი სტატიები

გააგრძელეთ სწავლა ამ მასალებით

📝

JSON: Сохранение данных как в большой игре 💾

Цель: Научиться сохранять и загружать данные в формате JSON.

📅 03.04.2026 👁️ 24
📝

map() — Преобразуй всё разом! 🔄

map() применяет функцию к каждому элементу списка и возвращает результаты.

📅 03.04.2026 👁️ 21
📝

filter() — Отбери лучшее! 🔍

filter() отбирает элементы, которые проходят проверку (возвращают True).

📅 03.04.2026 👁️ 14

მოგეწონათ სტატია?

გამოიწერეთ ჩვენი განახლებები და მიიღეთ ახალი სტატიები პირველებმა. განვითარდით PyLand-თან ერთად!