Сообщить об ошибке.

Проверка условий, конструкция if/elif/else в Python

Условный оператор if/elif/else, ветвление кода программы

Возможно, самый известный тип инструкций - это конструкция if/elif/else. Часто возникает необходимость, чтобы некоторый код выполнялся только при соблюдении определенного условия или код подлежащий выполнению, должен выбираться исходя из выполнения одного из нескольких взаимоисключающих условий.
Например:

>>> x = int(input("Please enter an integer: "))
# Please enter an integer: 42
>>> if x < 0:
...     x = 0
...     print('Negative changed to zero')
... elif x == 0:
...     print('Zero')
... elif x == 1:
...     print('Single')
... else:
...     print('More')

# More

Ключевое слово elif является сокращением от else if. Инструкции elif и else могут отсутствовать и не являются обязательными. Инструкция elif может повторяться сколько угодно раз if/elif/else. Такая последовательность инструкций elif является заменой для конструкции switch или case, которые есть в других языках программирования.

Составная инструкция if, elif и else обеспечивает условное выполнение блоков инструкций.
Она имеет следующий синтаксис:

if выражение:
    блок кода
elif выражение:
    блок кода
elif выражение:
    блок кода
...
...
else:
    блок кода

Конструкция if вычисляет и оценивает выражения одно за другим, пока одно из них не окажется истинным, затем выполняется соответствующий блок кода . После выполнения блока кода первого истинного (True) выражения, последующие инструкции elif/else не вычисляются и не оцениваются, а блоки кода в них не выполняется. Если все выражения ложны (False), выполняется блок кода инструкции else, если он присутствует.

В предложениях if и elif в качестве условия можно использовать любое выражение Python. В подобных случаях говорят, что условие используется в логическом контексте. В логическом контексте любое выражение рассматривается как истинное или ложное. Любое ненулевое число или любой непустой контейнер (строка, кортеж, список, словарь, множество) расценивается как истинное значение. Нуль (любого числового типа), None и пустой контейнер расцениваются как ложные значения. Для тестирования значения x в логическом контекстеиспользуйте следующий стиль написания кода:

if x:

Это наиболее ясная и соответствующая духу Python форма кода.

Примеры if/elif/else конструкций

Использование None в конструкции if:

a = None
if a is not None:
    print('a НЕ равно None')
else:
    print('a равно None')

Использование False и True в конструкции if:

bul = False
if bul:
    print('bul = True')
else:
    print('bul = False')

Использование integer числа 0 в конструкции if:

number = 0
if number:
    print('number не равно 0')
else:
    print('number = 0')

Использование числовых сравнений в конструкции if:

a = 10
b = 20
if  a != b and a > b:
    print('a не равно b и a больше b')
else:
    print('a не равно b и a меньше b')

Вложенные конструкции if:

a = 15
b = 3
if  a != b 
    if a > b:
        print('a больше b')
    else:
        print('a меньше b')
else:
    print('a равно b')

Проверка наличия слова в строке str с помощью конструкции if:

string1 = 'Привет мир'
string2 = 'мир'
if string2 in string1:
    print('Слово "мир" присутствует в строке "Привет мир"')
else:
    print('Слово "мир" отсутствует в строке "Привет мир"')

Проверка вхождения элемента в список list с помощью конструкции if:

a = 'bc'
lst = ['ac', 'bc', 0, 1, 3, 'abc']
if a in lst:
    print('Значение "bc" входит в список', lst)
else:
    print('Значение "bc" не входит в список', lst)

Проверка вхождения элемента в кортеж tuple с помощью конструкции if:

a = 'bc'
tpl = ('ac', 'bc', 0, 1, 3, 'abc')
if a in tpl:
    print('Значение "bc" входит в кортеж', tpl)
else:
    print('Значение "bc" не входит в кортеж', tpl)

Проверка вхождения элемента в множество set с помощью конструкции if:

a = 'bc'
set_ = {'ac', 'bc', 0, 1, 3, 'abc'}
if a in set_:
    print('Значение "bc" входит в множество', set_)
else:
    print('Значение "bc" не входит в множество', set_)

Проверка наличия ключа key в словаре dict с помощью конструкции if:

key = 'bc'
dct = {'ac':None, 'bc':False, '0':0, '1':3, '3':1, 'abc':True}
if key in dct:
    print('Ключ "bc" присутствует в словаре', dct)
else:
    print('Ключ "bc" отсутствует в словаре', dct)