Как использовать оператор if else в Python

12 set 2022 4 min di lettura
Как использовать оператор if else в Python
Indice dei contenuti

Введение

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

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

Оператор Python если

Простейшая форма 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 — True, если a равно или больше b.
  • a < b — True, если a меньше b.
  • a <= b — True, если a равно или меньше b.

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

s = 'noviello'
 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. Последовательность из нескольких операторов elif может использоваться как switch или заменитель case.

Вложенные операторы 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, оценивая определенные условия.

Buy me a coffeeBuy me a coffee

Supportaci se ti piacciono i nostri contenuti. Grazie.

Successivamente, completa il checkout per l'accesso completo a Noviello.it.
Bentornato! Accesso eseguito correttamente.
Ti sei abbonato con successo a Noviello.it.
Successo! Il tuo account è completamente attivato, ora hai accesso a tutti i contenuti.
Operazione riuscita. Le tue informazioni di fatturazione sono state aggiornate.
La tua fatturazione non è stata aggiornata.