Содержание Показать
В предыдущей статье мы научились писать программы, в которых выполнялись все строки. Но Python, как и многие другие языки программирования, предоставляет разработчикам инструменты для ветвления логики программы. Условный оператор if
В этой статье мы подробно рассмотрим условный оператор в Python и научимся его эффективно использовать.
if elif else
Давайте рассмотрим синтаксис условных операторов Python на примере практической задачи. Представим, что программа запрашивает у пользователя текущую температуру воздуха в градусах Цельсия. 
В зависимости от введенной температуры, программа предлагает, какую одежду лучше надеть на сегодня, а также напоминает о необходимости взять зонтик, если идет дождь.
temperature = int(input("Введите текущую температуру воздуха (в градусах Цельсия): "))
if temperature > 25:
    print("Сегодня тепло! Наденьте футболку и шорты.")
elif 15 <= temperature <= 25:
    print("Сегодня прохладно. Рекомендуется надеть легкий свитер и джинсы.")
elif 5 <= temperature < 15:
    print("Сегодня холодно. Лучше надеть куртку и шерстяной свитер.")
else:
    print("Очень холодно. Не забудьте про теплую куртку, шапку, шарф и перчатки!")
# Дополнительные рекомендации на основе погоды
rainy = input("Идет дождь? (да/нет): ")
if rainy.lower() == "да":
    print("Не забудьте зонтик или наденьте дождевик!")Так самый простой условный оператор в Python выглядит как if: после ifTrueFalse
И если условие истинно, выполняется блок кода, расположенный сразу после условия:
answer = input('Какой язык программирования ты изучаешь?')
if answer == 'Python':
    print('Отличный выбор!')
    print('Python - мощный и универсальный язык программирования.')
Предыдущая программа выводит текст в случае, если условие истинно. Но если условие ложно, то программа ничего не выводит. Для того чтобы обеспечить возможность выполнять что-либо в случае, если условие оказалось ложным, мы используем ключевое слово else
Используя elseifif
answer = input('Какой язык программирования ты изучаешь?')
if answer == 'Python':
    print('Отличный выбор!')
    print('Python - мощный и универсальный язык программирования.')
else:
    print(f'{answer} - это серьезный выбор!')
    print(f'Желаю успехов в изучении {answer}')Если требуется проверить несколько условий, в языке Python используется 
каскадный условный оператор.
Синтаксис каскадного условного оператора имеет следующий вид:
В условном операторе сначала проверяется условие 1. Если оно истинно, исполняется соответствующий блок кода, и остальные условия игнорируются. 
В случае ложного условия 1 программа проверяет  elif
Если ни одно условие не истинно, выполняется блок кода после выражения else
Если необходимо проверить несколько условий подряд, используется elif
(сокращение от «else if
temperature = float(input("Введите текущую температуру в градусах Цельсия: "))
if temperature > 30:
    print("На улице жарко. Рекомендуется носить легкую одежду и пить больше воды.")
elif temperature > 20:
    print("Погода теплая. Можно носить футболки и шорты.")
elif temperature > 10:
    print("На улице прохладно. Рекомендуется надеть свитер или кофту.")
else:
    print("На улице холодно. Не забудьте надеть пальто или куртку.")
print("Желаю вам хорошего дня!")Синтаксис в elififelifelseifelifelse
Логические операторы
В условиях часто используются логические операторы andornot
x = 7
if x > 5 and x < 10:
    print("x больше 5 и меньше 10")В качестве условия может выступать результат операции сравнения:
- >
- >=
- <
- <=
- ==
- !=
Для записи сложных условий можно применять логические операции:
- and- True- False
- or- False- True
- not- False
Ниже приведена таблица истинности для логических операций.
| x | y |  | x  | x  | 
|---|---|---|---|---|
| False | False | True | False | False | 
| False | True | True | True | False | 
| True | False | False | True | False | 
| True | True | False | True | True | 
Моржовый оператор
Моржовый оператор (:=
Рассмотрим сценарий, в котором нам нужно считать строку от пользователя и выполнить действие, если строка не пустая:
Моржовый оператор может быть особенно полезен в циклах, условных выражениях и других ситуациях, где необходимо оптимизировать работу с переменными.
Match-case
Python 3.10 представил новый оператор matchswitch
match value:
  case <pattern_1>:
    <action_1>
  case <pattern_2>:
    <action_2>
  case <pattern_3>:
    <action_3>
  case _:
    <action_wildcard>После ключевого слова matchcase
Напишем программу, которая принимает от пользователя название месяца в виде строки и выводит соответствующий сезон года:
Для того, чтобы сравнить на несколько значений в одном блоке case|
Также оператор matchif
Ещё по теме
- Оператор match
- Cтандарт PEP622