В реальной жизни мы постоянно принимаем решения: "Если на улице дождь, возьму зонт", "Если голоден, поем". В программировании то же самое! Чтобы ваш код мог "думать" и реагировать на разные ситуации, нужны условные конструкции. Они позволяют программе выполнять действия только при соблюдении заданных условий.
Зачем нужны условные конструкции?
Представьте, что вы пишете программу для онлайн-магазина. Вам нужно:
- Показать кнопку "Купить", только если товар есть в наличии.
- Применить скидку, если сумма заказа превышает 5000 рублей.
- Вывести сообщение об ошибке, если пользователь ввёл неверные данные.
Все эти сценарии реализуются с помощью условных конструкций. Они делают ваш код гибким и адаптивным.
if: Если условие истинно
Самая базовая условная конструкция — это оператор if (с англ. "если"). Он проверяет условие. Если оно истинно (True), выполняется блок кода под ним.
Синтаксис if:
if условие:
# Блок кода, который выполняется, если условие истинно
# Обратите внимание на отступ!
Важно: В Python блоки кода определяются отступами (обычно 4 пробела или 1 табуляция). Это ключевое отличие от многих других языков, где используются фигурные скобки. Правильные отступы критически важны!
Пример:
age = 18
if age >= 18:
print("Вы совершеннолетний.")
print("Можете получить водительские права.")
print("Программа завершена.")
Что здесь происходит?
- Мы задали переменную
ageсо значением18. - Условие
age >= 18(18 больше или равно 18) истинно. - Поэтому выполняются обе строки внутри блока
if. - Строка "Программа завершена." выполняется всегда, так как она находится вне блока
if.
else: А иначе...
Что, если условие не выполняется? Для этого есть оператор else (с англ. "иначе"). Он позволяет выполнить альтернативный блок кода, если условие в if оказалось ложным (False).
Синтаксис if-else:
if условие:
# Блок кода, если условие истинно
else:
# Блок кода, если условие ложно
Пример:
temperature = 25
if temperature > 30:
print("На улице жарко, наденьте легкую одежду.")
else:
print("На улице комфортная температура.")
# Изменим температуру
temperature = 35
if temperature > 30:
print("На улице жарко, наденьте легкую одежду.")
else:
print("На улице комфортная температура.")
В первом случае temperature > 30 (25 > 30) ложно, поэтому выполняется блок else. Во втором случае (35 > 30) истинно, выполняется блок if.
elif: Несколько вариантов выбора
Иногда у нас не просто два варианта (да/нет), а несколько возможных условий. Для таких случаев используется elif (сокращение от "else if" — "иначе если"). Вы можете использовать сколько угодно elif между if и else.
Синтаксис if-elif-else:
if условие1:
# Блок кода, если условие1 истинно
elif условие2:
# Блок кода, если условие1 ложно, а условие2 истинно
elif условие3:
# Блок кода, если условие1 и условие2 ложны, а условие3 истинно
else:
# Блок кода, если все предыдущие условия ложны
Важно: Python проверяет условия сверху вниз. Как только находит первое истинное условие, выполняет соответствующий блок кода и пропускает все остальные
elifиelse.
Пример:
Представим, что мы пишем программу для оценки успеваемости студента по баллам:
score = 85
if score >= 90:
print("Отлично! Ваша оценка A.")
elif score >= 75:
print("Хорошо! Ваша оценка B.")
elif score >= 60:
print("Удовлетворительно. Ваша оценка C.")
else:
print("Неудовлетворительно. Ваша оценка F.")
# Проверим с другими баллами
score = 50
if score >= 90:
print("Отлично! Ваша оценка A.")
elif score >= 75:
print("Хорошо! Ваша оценка B.")
elif score >= 60:
print("Удовлетворительно. Ваша оценка C.")
else:
print("Неудовлетворительно. Ваша оценка F.")
В первом случае score = 85.
85 >= 90—False.85 >= 75—True! Выполняетсяprint("Хорошо! Ваша оценка B."), и остальныеelif/elseигнорируются.
Во втором случае score = 50.
50 >= 90—False.50 >= 75—False.50 >= 60—False.- Выполняется блок
else.
Вложенные условные конструкции
Вы можете вкладывать условные конструкции друг в друга. Это полезно, когда нужно проверить несколько условий последовательно.
weather = "солнечно"
mood = "хорошее"
if weather == "солнечно":
print("Отличный день!")
if mood == "хорошее":
print("Пойдем гулять в парк!")
else:
print("Может, почитаем книгу на балконе?")
else:
print("Погода не очень.")
if mood == "хорошее":
print("Посмотрим фильм дома.")
else:
print("Поспим.")
Обратите внимание на увеличение отступов для вложенных блоков.
Практическое задание 🚀
Напишите программу, которая запрашивает у пользователя его возраст (используйте input() для получения данных и int() для преобразования в число). В зависимости от возраста выведите следующее:
- Если возраст меньше 7: "Слишком молод для школы."
- Если возраст от 7 до 17 (включительно): "Пора в школу!"
- Если возраст от 18 до 65 (включительно): "Время работать или учиться дальше!"
- Если возраст больше 65: "Наслаждайтесь заслуженным отдыхом!"
Попробуйте запустить программу несколько раз, вводя разные значения возраста, чтобы убедиться, что она работает правильно.
Условные конструкции — это фундамент для создания логики в ваших программах. Они позволяют коду принимать решения и адаптироваться к различным входным данным. Но что, если нам нужно повторять одно и то же действие много раз? Для этого существуют циклы, о которых мы поговорим в следующем разделе.