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

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

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

Оператор if в Python

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

if EXPRESSION:

  STATEMENT

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

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

STATEMENT блок начинается с углублением и концами с первой линией отступа. Большинство людей предпочитают использовать отступы с четырьмя или двумя пробелами. Официальное руководство по стилю для кода 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 в Python

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, оценивая заданные условия.

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



2020-12-08T22:00:24
Python