Условные операторы в Python: от простых «если» до вложенных конструкций
Крутим логические вентили и учим программу принимать решения.
Иллюстрация: Google DeepMind / Unsplash / Colowgee для Skillbox Media
Компьютерные программы тоже принимают решения на основе условий. В Python для этого есть условные операторы if, elif и else. Рассказываем, как они работают, для чего нужны и можно ли обойтись без них.
Содержание
- Что делают условные операторы в Python
- Оператор if
- Оператор if-else
- Оператор if-elif-else
- Логические операторы в условиях
ЭКСПЕРТ
Валерий Линьков
Эксперт Skillbox по компьютерным сетям и кибербезопасности. Автор телеграм-канала «Кудрявый микрофон».
Что делают условные операторы в Python
Условные операторы в Python используют для разработки программ, которые учитывают разные условия и на их основе выполняют определённые действия. Чаще всего их используют для следующих задач:
- Принятие решений. Позволяют программе выбирать между различными путями выполнения. Например, отправить пользователю письмо на почту или сообщение в мессенджере.
- Контроль потока выполнения. Условные операторы управляют тем, какие части кода будут выполнены, а какие проигнорированы.
- Оптимизация кода. Позволяют избегать выполнения ненужных операций, что улучшает производительность. Действия в программе выполняются последовательно, но иногда некоторые операции надо пропустить.
- Обработка ошибок. Условные операторы помогают обнаруживать и реагировать на ошибки или нестандартные ситуации. С помощью условных операторов можно описать, как программе реагировать на возникающие в коде ошибки.
Читайте также:
Оператор if
Конструкцию if используют, чтобы добавить одно условие в код. Содержимое такого блока будет выполняться только в том случае, если условие истинно и принимает значение True. В остальных случаях программа будет пропускать содержимое блока.
Синтаксис
Для создания условия используют оператор if. Затем следует само условие, а после идёт двоеточие и с новой строки с отступом начинается код. Если не соблюсти правила форматирования, то программа не будет работать:
В примере ниже если переменная x больше пяти, Python выведет в консоль сообщение x больше 5. В остальных случаях код внутри блока if не будет выполняться и пользователь не увидит сообщение:
Примеры задач
Представим, что вы решили написать программу, которая посчитает, можете ли вы позволить себе булочку за 35 рублей в кафе. Для начала создадим переменную bun и запишем в неё стоимость булочки. Затем с помощью функции input узнаем, сколько денег есть у пользователя. Теперь в блоке if проверяем, хватает ли суммы на покупку булочки, если да, то сообщаем об этом:
Читайте также:
Оператор if-else
Конструкция if-else позволяет выполнять два блока кода: для истинного и ложного условий. Это позволяет управлять поведением программы в зависимости от входных данных и состояний.
if описывает, что делать программе, если условие истинно, а else — если это условие ложно. После else нельзя указать другое условие: просто ставится двоеточие. Следующий блок кода начинается с отступа, как и в случае с if.
Синтаксис
В общем виде конструкция if-else выглядит следующим образом:
Доработаем наш пример и добавим блок else. Он будет выводить сообщение, если переменная x меньше пяти:
Мы предусмотрели, что делать программе в обоих случаях, а пользователь в любом случае увидит сообщение в консоли.
Для проверки условий внутри блоков if можно использовать вложенные условные операторы:
Примеры задач
Вернёмся к задаче с булочкой. Допустим, если у нас больше 50 рублей, то мы можем купить пирожок с картошкой. А если меньше, то только простую булочку:
Когда условие после if оценивается как истинное, выполняется блок кода 1. В противном случае выполняется блок кода 2.
Тернарный оператор
Это страшное словосочетание обозначает лишь, что условие if-else можно записать в одной строке. Тернарные операторы используют для сокращения кода в проекте и улучшения читаемости:
Оператор if-elif-else
Конструкция if-elif-else используется для проверки нескольких условий и выполнения только подходящего кода:
- if — проверяет первое условие.
- elif (сокращение от else if) — проверяет следующие условия, если предыдущее условие ложно.
- else — выполняет блок кода, если все предыдущие условия ложны.
Синтаксис
В общем виде синтаксис конструкции if-elif-else выглядит следующим образом:
Рассмотрим пример, в котором переменной x присваивается значение и с помощью оператора if-elif-else проверяется диапазон этого значения.
В данном примере результат будет: x больше 5, но меньше или равно 10, так как переменная x равна 7 и попадает в заданный диапазон.
Примеры задач
Рассмотрим пример, в котором проверяются различные состояния. Представим, что в пекарне в качестве бонуса к заказу детям дают бесплатный чай, а пенсионерам — морс. Нужно написать программу, которая на основе возраста определит, какой подарок может получить клиент.
Логические операторы в условиях
Для создания сложных условий можно использовать логические операторы: and, or и not.
Читайте также:
Логические операторы в программировании используют для выполнения операций с булевыми значениями (True или False).
- and (логическое И). Возвращает True, если оба условия истинны.
- or (логическое ИЛИ). Возвращает True, если хотя бы одно из условий истинно.
- not (логическое НЕ). Инвертирует значение условия (если условие истинно, возвращает False и наоборот).
Рассмотрим на примере, как использовать логические операторы в условиях. В задаче ниже, чтобы код выполнялся, должны быть истинными сразу два условия:
Читайте также:
Что в итоге
- Условные операторы позволяют программе выбирать между разными вариантами событий. Так она может адаптироваться под разные условия задачи.
- Условия управляют тем, какие части кода будут выполнены, а какие пропущены, обеспечивая более точное и эффективное выполнение программ.
- if позволяет добавить одно условие. Если оно истинно, то блок кода будет выполнен.
- if-else позволяет добавить два условия. Блок if выполняется, если условие истинно, а блок else — если ложно.
- if-elif-else позволяет добавить сколько угодно условий. Тогда блоки if и elif выполняются, если условия истинны, а else ― если нет.
- Можно использовать вложенные условные операторы, чтобы создавать более сложные логические конструкции.
- С помощью условий можно избежать выполнения ненужных операций.
Больше интересного про код — в нашем телеграм-канале. Подписывайтесь!