Оператор Python if...else

Изучив это руководство, вы научитесь использовать в Python различные формы if..else.

Что такое if … else в Python?

Выбор правильного варианта действия используется, когда мы хотим выполнить код, только если выполняется определенное условие. Для этого в Python применяется оператор if…elif…else.

Синтаксис Python-оператора if

if тестовое выражение:
    оператор(ы)

В примере программа оценивает тестовое выражение и выполняет оператор операторы, только если тестовое выражение равно True. Если тестовое выражение равно False, оператор операторы не выполняются.

В Python тело оператора if ограничивается отступом. Первая строка без отступа обозначает конец оператора.

Python интерпретирует ненулевые значения как истинное значение (true). None и 0 интерпретируются как False.

Блок-схема оператора Python if

Пример: оператор Python if

# Если число положительное, мы выводим соответствующее сообщение

num = 3
if num > 0:
    print(num, "is a positive number.")
print("This is alwaysprinted.")

num = -1
if num > 0:
    print(num, "is a positive number.")
print("This is alsoalwaysprinted.")

Результат работы кода:

3 is a positive number
This is alwaysprinted
This is alsoalwaysprinted.

В приведенном выше примере num > 0— это тестовое выражение. Тело if выполняется только в том случае, если оно равно True.

Когда переменная num равна 3, тестовое выражение истинно, и операторы внутри тела if выполняются. Если переменная num равна -1, тестовое выражение не истинно, а операторы внутри тела if пропускаются.

Оператор print() расположен за пределами блока if (не определен). Следовательно, он выполняется независимо от тестового выражения.

Оператор Python if … else

Синтаксис if … else

if тестовое выражение:
    тело if
else:
    тело else

Оператор if..else оценивает тестовое выражение и выполняет тело if, только если условие равно True.
Если условие равно False, выполняется тело else. Для разделения блоков используются отступы.

Блок-схема оператора Python if..else

Пример if … else

# Программа проверяет, является ли число положительным или отрицательным
# и отображает соответствующее выражение

num = 3

# Также попробуйте следующие два варианта. 
# num = -5
# num = 0

if num >= 0:
    print("Positive or Zero")
else:
    print("Negative number") 

В приведенном выше примере, когда num равно 3, тестовое выражение истинно и выполняется тело if, а тело else пропускается.

Если num равно -5, тестовое выражение является ложным и выполняется блок else, а тело if пропускается.

Если num равно 0, тестовое выражение истинно и выполняется блок if, а тело else пропускается.

Оператор Python if…elif…else

Синтаксис if…elif…else

if тестовое выражение:
    тело if
elif тестовое выражение:
    тело elif
else: 
    тело else

elif — это сокращение от else if. Этот оператор позволяет проверять несколько выражений.

Если условие if равно False, оно проверяет состояние следующего блока elif и так далее. Если все условия равны False, выполняется тело else.

Только один из нескольких блоков if…elif…else выполняется в соответствии с условием.
Блок if может быть только один. Но он может включать в себя несколько блоков elif.

Блок-схема if…elif…else

Пример if…elif…else

# В этой программе 
# мы проверяем, является ли число положительным,
# отрицательным или нулем и 
# выводим соответствующее выражение.

num = 3.4

# Также попробуйте следующие два варианта:
# num = 0
# num = -4.5

if num > 0:
    print("Positive number")
elif num == 0:
    print("Zero")
else:
    print("Negative number") 

Когда переменная num положительная, отображается Positive number. Если num равно 0, отображается Zero. Если число отрицательное, отображается Negative number.

Вложенные операторы Python if

if…elif…else может размещаться внутри другого оператора if…elif…else. Любое количество этих операторов может быть вложено внутрь друг друга. Отступы — единственный способ выяснить уровень вложенности. Это может быть довольно запутанным, поэтому следует избегать вложенности.

Пример вложенного оператора if

# В этой программе мы вводим число,
# проверяем, является ли число положительным,
# отрицательным или нулем, и выводим
# соответствующее сообщение
# На этот раз мы используем вложенный if

num =float(input("Enter a number: "))
if num >=0:
if num ==0:
print("Zero")
else:
print("Positive number")
else:
print("Negative number")

Вывод 1

Enter a number: 5
Positive number

Вывод 2

Enter a number: -1
Negative number

Вывод 3

Enter a number: 0
Zero

Перевод статьи «Python if…else Statement» был подготовлен дружной командой проекта Сайтостроение от А до Я.