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

Согласно теории структурного программирования любой алгоритм можно реализовать с помощью трех конструкций: следование, ветвление, циклы.

Сейчас мы рассмотрим Ветвление в Python. Ветвление это организация потока выполнения программы при котором поток разделяется на 2 и более ветви, затем снова сливается. В каждой ветви своя последовательность операторов.

Ветвление реализуется через условный оператор, который имеет 2 режима:

  • Простой: «ifelse«
  • И сложный: «ifelifelse«.

В условном операторе используются 3 ключевых слова:

  1. if — переводится как «Если»
  2. elif — это сокращение от else if, что переводится как «Иначе если»
  3. else — переводится как «Иначе»

Давайте их рассмотрим на примерах.

Пример 1. Четное или не четное число

Нужно составить программу, которая сообщит пользователю четное число введено или нет. Число будет четным если остаток от деления на 2 равен нулю. Если остаток не равен нулю, то число не четное. В этой проверке доступны всего 2 варианта — либо четное, либо нет. По этому используем конструкцию «ifelse«:


a = int(input("Введите число "))
if a%2 == 0:
    print("Это четное число")
else:
    print("Это не четное число")

Обратите внимание на отступы. В Python нет скобок для, того что бы очертить блок из нескольких операторов после if и после else, как например в C, где используется {} или в Pascal, где используется Begin End. В Python блоки текста выделяются отступами. Величина отступа 4 пробела. Если вам нужно подвинуть текст на 4 пробела, то нужно выделить этот текст и нажать комбинацию клавиш «ctrl» + «]» — для сдвига на 4 пробела в право или «ctrl» + «[» — для сдвига на 4 пробела в влево.

Пример 2. В зависимости от дня недели, нужно выполнить определенные вычисления

Тут возможны 7 вариантов. По этому используем конструкцию: «ifelifelse«.


day = input("Введите день недели: ")
if day == "Понедельник":
    a = 1
    b = a * 5
elif day == "Вторник":
    a = 2
    b = a * 5
elif day == "Среда":
    a = 3
    b = a * 5
elif day == "Четверг":
    a = 4
    b = a * 5
elif day == "Пятница":
    a = 5
    b = a * 5
elif day == "Суббота":
    a = 6
    b = a * 5
elif day == "Воскресенье":
    a = 7
    b = a * 5    
else:
    print("Вы ввели не корректный день недели")

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

Кстати допустимо использование только одной ветки if. Даже без else. Но так делать не рекомендуется, лучше все же использовать блок else, даже если вы думаете, что программа туда не попадет. Вы можете поставить туда заглушку: pass. В Python — это оператор который ничего не делает. Так ваш код станет понятнее, другим программистам, которые его будут читать.