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

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

number = int(input('Введите число: '))



if number > 5:

    print(number, ' больше 5.')


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

python test.py

 

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

10 больше 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 = 'andreyex'

if 'ey' in s:

    print('True.')


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

d = {'a': 2, 'b': 4}

if 'a' in d:

    print('True.')


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

Чтобы отменить условное выражение, используйте логический оператор not:

number = int(input('Ввести число: '))



if not number < 5:

    print(number, ' меньше 5.')


 

Утверждение if..else

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

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

if EXPRESSION:

    STATEMENT1

else:

    STATEMENT2


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

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

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

number = int(input('Ввести число: '))



if number > 5:

    print(number, ' больше 5.')

else:

    print(number, ' равно или меньше 5.')


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

 

Утверждение if..elif..else

Ключевое слово elif является аббревиатурой else if.

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

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('Ввести число: '))



if number > 5:

    print(number, ' больше чем 5.')

elif number < 5:

    print(number, ' меньше 5.')

else:

    print(number, ' равно 5.')


 

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

 

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

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

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

number1 = int(input('Введите первое число: '))

number2 = int(input('Введите второе число: '))

number3 = int(input('Введите третье число: '))



if number1 > number2:

    if number1 > number3:

        print(number1, 'это самое большое число.')

    else:

        print(number3, 'это самое большое число.')

else:

    if number2 > number3:

        print(number2, 'это самое большое число.')

    else:

        print(number3, 'это самое большое число.')


 

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

Введите первое число: 455 

Введите второе число: 567

Введите третье число: 354

567 это самое большое число.


 

Несколько условий

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

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

number1 = int(input('Введите первое число: '))

number2 = int(input('Введите второе число: '))

number3 = int(input('Введите третье число: '))



if number1 > number2 and number1 > number3:

    print(number1, 'это самое большое число.')

elif number2 > number3 and number2 > number3:

    print(number2, 'это самое большое число.')

else:

    print(number3, 'это самое большое число.')


 

Вывод

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

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



2020-02-11T09:49:03
Python