Конструкция if-else: ветвление на два направления

Конструкция if-else: ветвление на два направления Условия и циклы

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

Именно для этого существует конструкция if-else.

В этой статье мы разберём:

  • Синтаксис if-else
  • Примеры с числами, строками, вводом пользователя
  • Вложенные условия
  • Частые ошибки и как их избежать

Что нужно знать перед началом

Для этого урока тебе понадобится:

  • Установленный Python
  • Понимание операторов сравнения
  • Понимание логических операторов

Совет: if-else — это основа любого программирования. Ты будешь использовать эту конструкцию в каждом проекте.

Основная часть

Синтаксис if-else

if условие:
    # код, который выполнится, если условие True
else:
    # код, который выполнится, если условие False

Важно: После if и else ставится двоеточие :. Код внутри блоков пишется с отступом (4 пробела).

Простой пример

age = 18

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

Результат: "Вы совершеннолетний"

Как это работает:

  1. Проверяется условие age >= 18
  2. Если True — выполняется блок после if
  3. Если False — выполняется блок после else

Пример с числами

number = 10

if number % 2 == 0:
    print(f"{number} — чётное число")
else:
    print(f"{number} — нечётное число")

Результат: "10 — чётное число"

Совет: Этот шаблон (проверка чётности) — один из самых частых в обучении.

Пример с вводом пользователя

temperature = int(input("Введите температуру: "))

if temperature > 0:
    print("На улице тепло")
else:
    print("На улице холодно")

Вложенные if-else

Внутри if или else может быть ещё одна конструкция if-else.

age = 20
has_license = True

if age >= 18:
    if has_license:
        print("Можно водить машину")
    else:
        print("Нужны права")
else:
    print("Слишком молод")

Совет: Вложенные условия удобны, но делают код сложнее. Если можно использовать логические операторы (andor) — используй их.

if age >= 18 and has_license:
    print("Можно водить машину")
elif age >= 18 and not has_license:
    print("Нужны права")
else:
    print("Слишком молод")

Тернарный оператор (условие в одной строке)

Для простых условий есть короткая запись — тернарный оператор.

age = 18
status = "совершеннолетний" if age >= 18 else "несовершеннолетний"
print(status)   # совершеннолетний

Совет: Тернарный оператор удобен для коротких условий, но не злоупотребляй им. Для сложных условий используй полноценный if-else.

Примеры из реальной жизни

Пример 1. Проверка пароля:

password = input("Введите пароль: ")
correct_password = "12345"

if password == correct_password:
    print("Доступ разрешён")
else:
    print("Доступ запрещён")

Пример 2. Проверка положительного числа:

number = int(input("Введите число: "))

if number > 0:
    print("Число положительное")
else:
    print("Число не положительное")

Пример 3. Скидка для студентов:

age = int(input("Введите возраст: "))
is_student = input("Вы студент? (да/нет): ").lower() == "да"

if age < 18 or is_student:
    print("Скидка 50%")
else:
    print("Скидки нет")

Задачи для закрепления

Задача 1. Запроси у пользователя число. Если оно больше 0 — выведи «Положительное», иначе «Не положительное».

Задача 2. Запроси возраст. Если возраст >= 18 — выведи «Доступ разрешён», иначе «Доступ запрещён».

Задача 3. Запроси год рождения. Выведи, сколько лет человеку. Если он старше 65 — выведи «Пенсионер», иначе «Не пенсионер».

Задача 4. Запроси имя и пароль. Если имя «admin» и пароль «12345» — выведи «Добро пожаловать!», иначе «Неверный логин или пароль».

Задача 5. Проверь, является ли число чётным и выведи соответствующее сообщение.

Ответы:

Задача 1.

num = int(input("Введите число: "))
if num > 0:
    print("Положительное")
else:
    print("Не положительное")

Задача 2.

age = int(input("Введите возраст: "))
if age >= 18:
    print("Доступ разрешён")
else:
    print("Доступ запрещён")

Задача 3.

year = int(input("Введите год рождения: "))
age = 2025 - year
print(f"Вам {age} лет")
if age > 65:
    print("Пенсионер")
else:
    print("Не пенсионер")

Задача 4.

username = input("Введите имя: ")
password = input("Введите пароль: ")
if username == "admin" and password == "12345":
    print("Добро пожаловать!")
else:
    print("Неверный логин или пароль")

Задача 5.

num = int(input("Введите число: "))
if num % 2 == 0:
    print("Число чётное")
else:
    print("Число нечётное")

Нюансы и подводные камни

else без if — ошибка

else всегда идёт после if (или elif). Отдельно он не используется.

else:   # Ошибка!
    print("Что-то")

Забыл двоеточие

if x > 5   # Ошибка! Нет двоеточия
    print("x > 5")

if x > 5:  # Правильно
    print("x > 5")

Неправильные отступы

if x > 5:
print("Внутри if")   # Ошибка! Нет отступа

Путаница между = и ==

if age = 18:   # Ошибка!
    print("18 лет")

if age == 18:  # Правильно
    print("18 лет")

Частые ошибки и как их избежать

Ошибка 1: = вместо ==

Используй == для сравнения, = для присваивания.

Ошибка 2: Неправильные отступы

Всегда используй 4 пробела для отступа.

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

После if и else всегда ставится :.

Ошибка 4: else без if

else всегда идёт после if или elif.

Шпаргалка

Что нужноКак пишется
Условие с альтернативойif ...: ... else: ...
Вложенные условияif ...: if ...: ... else: ...
Тернарный операторx if условие else y
Сравнение==!=><>=<=
Логические операторыandornot

Заключение / Выводы

Сегодня мы узнали:

  • Конструкция if-else — ветвление на два направления
  • Синтаксисif условие: ... else: ...
  • Вложенные условия и когда их использовать
  • Тернарный оператор — короткая запись условия

КВИЗ

Что дальше?

Оцените статью
IMI-DS - PYTHON LERNEN
Содержание
Оглавление ×