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

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

Принятие решений — одна из основополагающих концепций программирования. Python поддерживает распространённые операторы управления потоком выполнения, встречающиеся в других языках, с некоторыми изменениями. Управляющий оператор if — один из самых простых и известных операторов, используемых для выполнения кода при определённом условии.

В этой статье мы рассмотрим основы оператора if в Python.

Python if Оператор

Самая простая форма оператора if в Python выглядит следующим образом:

 if EXPRESSION : STATEMENT

Оператор if начинается с ключевого слова if за которым следует условное выражение.

За EXPRESSION должно следовать двоеточие ( : . Если выражение EXPRESSION возвращает значение True , выполняется STATEMENT . Если EXPRESSION возвращает значение False , ничего не происходит; STATEMENT игнорируется. STATEMENT может быть любым оператором, включая несколько операторов или вложенные операторы if . Чтобы не выполнять операторы, используйте оператор pass .

Блок STATEMENT начинается с отступа и заканчивается первой строкой без отступа. Большинство людей предпочитают использовать отступ в 4 или 2 пробела. Официальное руководство по стилю кода Python рекомендует использовать 4 пробела на уровень отступа и избегать смешивания табуляции и пробелов при создании отступов.

Давайте рассмотрим следующий пример скрипта, который проверяет, больше ли заданное число 5.

 number = int ( input ( 'Enter a number: ' )) if number > 5: print ( number, 'is greater than 5.' )

Сохраните код в файле и запустите его из командной строки:

 python test.py

Скрипт предложит вам ввести число. Например, если вы введёте 10, условное выражение будет True (10 больше 5), и функция print будет выполнена.

 10 is greater than 5.

Python поддерживает стандартные операции сравнения:

  • a == b — Истина, если a и b равны.
  • a != b — Истина, если a и b не равны.
  • a > b — Истина, если a больше b .
  • a >= b — Истина, если a равно или больше b .
  • a < b — Истина, если a меньше b .
  • a <= b — Истина, если a равно или меньше b .

Вы также можете использовать ключевое слово in для проверки наличия значения в итерируемом объекте (строке, списке, кортеже , словаре и т. д.):

 s = 'linuxize' if 'ze' in s : print ( 'True.' )

Вот еще один пример использования словаря:

 d = { 'a' : 2 , 'b' : 4 } if 'a' in d : print ( 'True.' )

При использовании в словаре ключевое слово in проверяет, есть ли в словаре определенный ключ.

Для отрицания условного выражения используйте логический оператор not :

 number = int ( input ( 'Enter a number: ' )) if not number < 5 : print ( number , 'is greater than 5.' )

if..else

Оператор if..else оценивает условие и выполняет один из двух операторов в зависимости от результата.

Оператор Python if..else имеет следующую форму:

 if EXPRESSION : STATEMENT1 else : STATEMENT2

Если EXPRESSION возвращает значение True , выполняется STATEMENT1 . В противном случае, если EXPRESSION возвращает False , выполняется STATEMENT2 . В операторе может быть только одно предложение else .

Ключевое слово else должно заканчиваться двоеточием ( : ) и находиться на том же уровне отступа, что и соответствующее ключевое слово if .

Давайте добавим предложение else к предыдущему примеру скрипта:

 number = int ( input ( 'Enter a number: ' )) if number > 5 : print ( number , 'is greater than 5.' ) else : print ( number , 'is equal or less than 5.' )

Если запустить код и ввести число, скрипт выведет разное сообщение в зависимости от того, больше или меньше/равно ли число 5.

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

Ключевое слово elif является сокращением от else if .

Оператор Python if..elif..else имеет следующую форму:

 if EXPRESSION1 : STATEMENT1 elif : EXPRESSION2 : STATEMENT2 else : STATEMENT3

Если EXPRESSION1 имеет значение True , выполняется STATEMENTS1 . Если EXPRESSION2 имеет значение True , выполняется STATEMENTS2 . Если ни одно из выражений не имеет значения True , выполняется STATEMENTS3 .

Ключевое слово elif должно заканчиваться двоеточием ( : ) и иметь тот же уровень отступа, что и соответствующее ключевое слово if . В операторе может быть одно или несколько предложений elif . Предложение else необязательно. Если предложение else не используется и все выражения возвращают значение False , ни одно из предложений не выполняется.

Условия проверяются последовательно. Как только одно из условий возвращает True , остальные условия не выполняются, и управление программой переходит в конец операторов if .

Давайте добавим предложение elif к предыдущему скрипту:

 number = int ( input ( 'Enter a number: ' )) if number > 5 : print ( number , 'is greater than 5.' ) elif number < 5 : print ( number , 'is less than 5.' ) else : print ( number , 'is equal to 5.' )

В отличие от большинства языков программирования, в Python нет операторов switch и case . Вместо switch или case можно использовать последовательность из нескольких операторов elif .

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

Python позволяет вкладывать операторы if if в друга. Как правило, следует избегать чрезмерных отступов и использовать elif вместо вложенных операторов if .

Следующий скрипт предложит вам ввести три числа и выведет наибольшее из них.

 number1 = int ( input ( 'Enter the first number: ' )) number2 = int ( input ( 'Enter the second number: ' )) number3 = int ( input ( 'Enter the third number: ' )) if number1 > number2 : if number1 > number3 : print ( number1 , 'is the largest number.' ) else : print ( number3 , 'is the largest number.' ) else : if number2 > number3 : print ( number2 , 'is the largest number.' ) else : print ( number3 , 'is the largest number.' )

Вот как будет выглядеть результат:

 Enter the first number: 455 Enter the second number: 567 Enter the third number: 354 567 is the largest number.

Множественные условия

Логические операторы or и « and позволяют объединять несколько условий в операторах if .

Вот ещё одна версия скрипта для вывода наибольшего числа из трёх. В этой версии вместо вложенных операторов if мы будем использовать логический оператор and и elif .

 number1 = int ( input ( 'Enter the first number: ' )) number2 = int ( input ( 'Enter the second number: ' )) number3 = int ( input ( 'Enter the third number: ' )) if number1 > number2 and number1 > number3 : print ( number1 , 'is the largest number.' ) elif number2 > number3 and number2 > number3 : print ( number2 , 'is the largest number.' ) else : print ( number3 , 'is the largest number.' )

Заключение

Операторы if , if..else и if..elif..else позволяют контролировать ход выполнения Python путем оценки заданных условий.

Если у вас есть вопросы или пожелания, не стесняйтесь оставлять комментарии.

терминал Python

Связанные руководства

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *