Привет! В прошлых статьях мы научились сравнивать значения и комбинировать условия с помощью логических операторов. Но что делать, если нужно выполнить один блок кода при истинном условии и другой — при ложном?
Именно для этого существует конструкция if-else.
В этой статье мы разберём:
- Синтаксис
if-else - Примеры с числами, строками, вводом пользователя
- Вложенные условия
- Частые ошибки и как их избежать
- Что нужно знать перед началом
- Основная часть
- Синтаксис if-else
- Простой пример
- Пример с числами
- Пример с вводом пользователя
- Вложенные if-else
- Тернарный оператор (условие в одной строке)
- Примеры из реальной жизни
- Задачи для закрепления
- Нюансы и подводные камни
- else без if — ошибка
- Забыл двоеточие
- Неправильные отступы
- Путаница между = и ==
- Частые ошибки и как их избежать
- Ошибка 1: = вместо ==
- Ошибка 2: Неправильные отступы
- Ошибка 3: Забыл двоеточие
- Ошибка 4: else без if
- Шпаргалка
- Заключение / Выводы
- КВИЗ
- Что дальше?
Что нужно знать перед началом
Для этого урока тебе понадобится:
- Установленный Python
- Понимание операторов сравнения
- Понимание логических операторов
Совет:
if-else— это основа любого программирования. Ты будешь использовать эту конструкцию в каждом проекте.
Основная часть
Синтаксис if-else
if условие:
# код, который выполнится, если условие True
else:
# код, который выполнится, если условие FalseВажно: После
ifиelseставится двоеточие:. Код внутри блоков пишется с отступом (4 пробела).
Простой пример
age = 18
if age >= 18:
print("Вы совершеннолетний")
else:
print("Вы несовершеннолетний")Результат: "Вы совершеннолетний"
Как это работает:
- Проверяется условие
age >= 18 - Если
True— выполняется блок послеif - Если
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("Слишком молод")Совет: Вложенные условия удобны, но делают код сложнее. Если можно использовать логические операторы (
and,or) — используй их.
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 |
| Сравнение | ==, !=, >, <, >=, <= |
| Логические операторы | and, or, not |
Заключение / Выводы
Сегодня мы узнали:
- Конструкция
if-else— ветвление на два направления - Синтаксис:
if условие: ... else: ... - Вложенные условия и когда их использовать
- Тернарный оператор — короткая запись условия








