Условный оператор if в Python

User Rating: 0 / 5

Для того, чтобы управлять логикой и ходом выполнения Вашего скрипта на Python, можно использовать условный оператор if. Если Вы уже знакомы с другими языками программирования, то наверняка понимаете, как он работает. Если не знакомы, тоже не страшно, сейчас мы посмотрим на несколько примеров использования, и всё станет сразу понятно.

Итак, оператор if в Python используется для проверки истинности какого-либо условия (или, как говорят разработчики, предиката). Если Вы хотите, к примеру, проверить текущее значение какой-то переменной в Вашем Python-скрипте и сравнить его с другой переменной или константой того же типа, то здесь поможет оператор if.

Посмотрим небольшой пример, в котором мы запрашиваем у пользователя ввод числа с клавиатуры и сохраняем его в переменную с именем x:

if __name__ == '__main__':
    x = int(input("Пожалуйста, введите число: "))
    if x < 0:
        print("Вы ввели отрицательное число")
    elif x == 0:
        print("Вы ввели 0")
    elif x > 0:
        print("Вы ввели положительное число")

Если мы запустим наш скрипт в среде разработки PyCharm, то увидим приглашение на ввод данных:

Пожалуйста, введите число:

Дальше, в зависимости от того, что именно Вы введёте с клавиатуры (после завершения ввода нужно нажать клавишу <Enter>), сработает одно из условий:

  • основное условие оператора if сработает, если Вы ввели отрицательное число
  • первая ветка elif сработает, если Вы ввели с клавиатуры 0
  • вторая ветка elif сработает, если Вы ввели положительное число

В моём случае в приглашении ввода я ввёл цифру 5, и ниже представлен результат работы скрипта в консоли PyCharm:

Пожалуйста, введите число: 5
Вы ввели положительное число

Как видим, в моём случае мы попадаем во вторую ветку elif, которая и вывела на экран консоли строку "Вы ввели положительное число".

Обратите внимание, что в Python нужно использовать отступы с помощью табуляции и после основного условия предиката (т.е. там где мы сравниваем x < 0, x == 0, x > 0) нужно ставить символ двоеточия.

Операторов elif может быть как несколько для основного оператора if, так и не быть вообще. Т.е. Вы можете не указывать elif, если логикой Вашей программы не предусмотрены какие-то другие условия.

Рассмотрим ещё один пример оператора if, в котором есть только ветка else и нет ни одной ветки elif:

if __name__ == '__main__':
    x = int(input("Пожалуйста, введите число: "))
    
    if x * 2 > 50:
        print("Результат умножения введённого числа на 2 больше 50!")
    else:
        print("Результат умножения введённого числа на 2 меньше 50!")

Как и предыдущий пример, скрипт преобразует введённую с клавиатуры строку к целому типу с помощью встроенной функции int().

Далее число умножается на 2 и этот результат сравнивается с числом 50. Если результат больше 50, то выведется соответствующее сообщение, в противном случае логика выполнения уйдет в ветку else и также выведет сообщение о том, что результат умножения введённого числа на 2 меньше 50.

Вы можете использовать сколь угодно много развилок elif для оператора if, но развилка else всегда только одна. В ветку else мы попадём в том и только в том случае, когда не выполнено условие if и все условия для развилок elif (если они присутствуют).

Напоследок ещё один пример, где есть все части оператора if - сам оператор if, пара веток elif и ветка else:

if __name__ == '__main__':
    x = int(input("Пожалуйста, введите число: "))

    if x * 2 > 50:
        print("Результат умножения введённого числа на 2 больше 50!")
    elif 0 <= x * 2 <= 50:
        print("Результат умножения введённого числа на 2 больше нуля и меньше или равен 50!")
    else:
        print("Результат умножения введённого числа на меньше нуля!")

Как видим, в данном примере мы используем и ветку elif, и ветку else. Обратите внимание, как удобно Python умеет сравнивать нахождение какого-то значения в диапазоне: 0 <= x * 2 <= 50. За счёт такой конструкции мы умножаем введённое с клавиатуры число, хранящееся в переменной x, на и проверяем условие, что этот результат больше или равен нуля и одновременно меньше или равен 50.

Как видите, оператор if очень просто и лаконично записывается на языке Python и помогает сравнивать различные условия в Ваших Python-скриптах, выполняя то или иное действие, в зависимости от значений его предикатов.

Надеюсь, этот короткий урок будет полезен для всех изучающих Python.

Яндекс.Метрика