Оператор if-else
Очень часто в программах надо выполнить ряд инструкций только в том случае, если соблюдаются определённые условия. Для обработки таких ситуаций в языках программирования имеются операторы управления. Эти операторы используются для управления потоком выполнения программы — создания циклов, пропуска какой-либо инструкции, когда условие истинно, и т.д.
Оператор if
Синтаксис для if следующий:
После оператора if идёт условие, т.е. логическое выражение, которое возвращает True или False . Окончание оператора обозначается с помощью символа : . В строках далее идут инструкции, которые начинаются с отступа. Всю эту конструкцию обычно называют условным блоком или блоком if . Пример:
Оператор if-else
Блок else , следующий за блоком if , является опциональным и позволяет задать инструкции для случая, когда ни одно предыдущее условие не оказалось истинным.
Синтаксис для if-else :
Вложенный условный блок
Для сложных условных ‘цепочек’ можно использовать вложенные условные блоки:
Когда интерпретатор переходит к 3-ей строке к оператору if-else , проверяется условие. Если оно неверно, тогда переходит к блоку else и аналогично проверяет вложенные в блок else другие условные блоки. Стоит заметить, что каждый условный блок находится на разном уровне отступа.
Хотя вложенные операторы if-else и позволяют проверять несколько условий, их бывает сложно воспринимать визуально. Данный пример можно сделать более читаемым с помощью конструкции if-elif-else .
Оператор if-elif-else
Блок elif (сокращение от else и if), следующий за блоком if , является опциональным и позволяет определить дополнительный условный блок со своим набором инструкций. Конструкций elif может быть бесконечно много, но располагаются они только после основного блока if . В конце и только в конце можно при случае добавить блок else , если другие условия не выполняются.
Синтаксис для if-elif-else :
Тернарный оператор if-else
Блок if-else также может быть использован в качестве тернарного оператора. В таком блоке обязательно используется три операнда. В других языках программирования используется конструкция <условие> ? <выражение 1> : <выражение 2> .
Синтаксис тернарного оператора if-else :
Если условие верно, то выполняется первое выражение, иначе второе. Данная конструкция используется для более сложный логических выражений или для однострочной записи коротких выражений. Пример:
Второй пример является более сложным, так как тут используется целых 5 тернарных операторов в одном выражении. На практике так редко записывают подобное выражение.
Подсказка
Для многострочной записи однострочной записи выражения можно использовать символ \ (символ продолжения строки) в конце строки. Интерпретатор в данном случае будет считать, что строка кода не была окончена и перейдет к следующей:
Также можно использовать круглые скобки вокруг выражения. Аналогичная запись:
Что такое elif в python
В третьей лекции курса «Python для журналистов» мы поговорим об условиях: if, elif, else. И чтобы у этой лекции была практическая польза, мы попробуем решить с помощью условий простейшую задачу по подсчету налога и чистого дохода человека в зависимости от его налогового статуса. Для этой задачи мы возьмем несколько статусов физлиц:
- индивидуальный предприниматель («ИП1») — платит 15 % налогов со своих доходов за вычетом расходов;
- индивидуальный предприниматель («ИП2») — платит 6 % налогов со всех своих доходов;
- самозанятый («СЗ») — тоже платит 6 % со своих доходов;
- в остальных случаях физлица платят 13 % со своих доходов; их мы в задаче называем «ФЛ».
Наша задача будет в том, чтобы, используя условия if, elif, else, посчитать, сколько каждый из налоговых агентов заплатит налогов и какой будет чистый доход. Но прежде чем перейти к ее решению, рассмотрим функцию input, которая позволяет считывать данные от пользователя с клавиатуры.
Input
Например, мы хотим, чтобы пользователь мог сам вводить свое имя в нашей программе. Для этого введем переменную name и присвоим ей значение input(): name = input().
В появившемся окне можно ввести любое имя. Чтобы его распечатать, можно использовать функцию print: print(name).
Теперь, чтобы узнать налоговый статус человека, введем еще одну переменную business_type и тоже присвоим ей значение input(). Здесь нужно ввести один из четырех статусов нашей задачи — «ИП1», «ИП2», «СЗ», или «ФЛ».
Теперь введем третью, последнюю, переменную, которую мы будем считывать с клавиатуры — income: income = input().
В ее значение мы введем доход человека. И здесь важно помнить, что те значения, которые мы передаем input(), эта функция переводит в строки (тип str в Python). Для эксперимента попробуйте ввести цифру 100 в input для переменной income. А затем проверьте тип этого объекта: type(income) — будет тип str. Но нам это не подходит: со строками нельзя производить арифметические операции, которые нам необходимы для подсчета налогов и чистого дохода. Чтобы перевести тип income в int (это тип для целых чисел в Python), нам нужно немного изменить операцию присваивания: income = int(input()).
Если проверить теперь тип income с помощью type(income), то мы увидим int, что нам и нужно.
Условие if
If на английском означает «если». Соответственно, наш блок кода будет выполняться, только если будет выполнено какое-то условие. В общем виде синтаксис конструкции if выглядит следующим образом:
Для простой практики попробуйте в новой ячейке Jupyter Notebook ввести новую тестовую переменную и присвойте ей какое-то значение: например, x = 10. А в следующей ячейке напишите простейшее условие:
True будет напечатано, потому что имя x действительно ссылается на объект 10.
Теперь давайте применим это знание, чтобы посчитать налоги для первого человека. Напишем такое условие:
if business_type == ‘ИП1’:
tax = income * 0.15
net_income = income — tax
В этом блоке кода мы говорим: «Если человек зарегистрирован как ИП1, то его налог будет равен 15 % от доходов (income * 0.15), а чистый доход будет равняться общему доходу минус сумма налогов (net_income = income — tax)».
Чтобы проверить наши вычисления, можно их напечатать: print(tax, net_income).
Но согласитесь, что хотя наша программа и считает все правильно, но хотелось бы, чтобы она выводила что-то более информативное для пользователя. В Python есть очень удобное форматирование строк с помощью буквы f перед открывающими строку кавычками. Применим его для более информативного вывода результатов работы нашей программы.
Форматирование строк
Допустим, мы хотим вывести такую строку: «Уважаемый ИМЯ, сумма вашего налога составит СТОЛЬКО-ТО рублей, а чистый доход СТОЛЬКО-ТО рублей». Для этого изменим наше выражение print на следующее:
print(f’
В фигурные скобки заключены имена наших переменных.
Условие elif
Elif — это сокращенное от английского else if, что на русский язык можно перевести как «еще если». У elif такой же синтаксис, как у if:
Иными словами, если наше условие в if не выполнено, интерпретатор затем проверяет условие в elif, и если оно верно, то он выполняет блок кода под этим условием.
Проверим это на следующем налоговом агенте. Напишем такой блок кода:
elif business_type == ‘ИП2’:
tax = income * 0.06
net_income = income — tax
print(f’
Теперь вернитесь к началу тетрадки и задайте новые значения в функции input для переменных name, business_type (здесь нужно ввести ИП2) и income. Программа должна посчитать значения для «ИП2» и вывести их на экран.
Условия и логические операторы
Теперь нам нужно посчитать значения для самозанятых («СЗ»). У них ставка налога такая же, как у «ИП2». И естественным желанием было бы скопировать весь блок кода, который относится к «ИП2» и подставить его под «СЗ». Но это плохая практика. Лучше использовать в таком случае логический оператор. В нашем случае это оператор or, что на русский переводится как «или»:
elif business_type == ‘ИП2’ or business_type == ‘СЗ’:
tax = income * 0.06
net_income = income — tax
print(f’
В этом блоке кода мы как бы говорим: «Если тип равен „ИП2“ или тип равен „СЗ“, делай что-то».
Условие else
Условие else (что на русский переводится как «иначе») выполняется, если не были выполнены все условия выше. Поэтому его синтаксис в общем виде выглядит так:
Обратите внимание, что само условие в конструкции else не уточняется, в отличие от if и elif. Что логично, потому что блок кода после него будет выполнен, только если не выполнены все условия выше.
Поэтому, чтобы посчитать налог и чистый доход для человека, работающего в какой-то организации, нам нужно просто написать:
tax = income * 0.13
net_income = income — tax
print(f’
Тетрадку Jupyter Notebook с этим уроком можно найти в нашем GitHub здесь.
Coming Soon!
This is going to be another great website hosted by PythonAnywhere.
PythonAnywhere lets you host, run, and code Python in the cloud. Our free plan gives you access to machines with everything already set up for you. You can develop and host your website or any other code directly from your browser without having to install software or manage your own server.
Need more power? Upgraded plans start at $5/month.
Developer info
Hi! If this is your PythonAnywhere-hosted site, then you’re almost there — you just need to create a web app to handle this domain.
Что такое elif в python

There comes situations in real life when we need to make some decisions and based on these decisions, we decide what should we do next. Similar situations arise in programming also where we need to make some decisions and based on these decisions we will execute the next block of code. Decision-making statements in programming languages decide the direction(Control Flow) of the flow of program execution.
Types of Control Flow in Python
In Python programming language, the type of control flow statements are as follows:
if statement
The if statement is the most simple decision-making statement. It is used to decide whether a certain statement or block of statements will be executed or not.
Syntax:
Here, the condition after evaluation will be either true or false. if the statement accepts boolean values – if the value is true then it will execute the block of statements below it otherwise not.
As we know, python uses indentation to identify a block. So the block under an if statement will be identified as shown in the below example:
Flowchart of Python if statement

Flowchart of Python if statement
Example of Python if Statement
As the condition present in the if statement is false. So, the block below the if statement is executed.