Условные конструкции в Python: if, elif, else
Операторы ветвления if, elif, else, отступы (PEP 8), операции сравнения (==, !=, >, <, >=, <=) и вложенные условия.
Для реализации выбора действий в языке Python используется условный оператор if (если).
Синтаксис простейшего неполного ветвления:
if условие:
команда1
команда2
Фундаментальная особенность синтаксиса Python: в отличие от языков Pascal (begin..end) или C++ ({ }), в Python блоки кода выделяются строго ОТСТУПАМИ (интендацией).
Правило отступов PEP 8: стандартный отступ для вложенного блока равен 4 пробелам (или одному нажатию клавиши Tab). Двоеточие (:) в конце строки с условием является обязательным: оно указывает интерпретатору, что дальше начинается блок команд, выполняемых при соблюдении условия.
Оператор if
Отступ 4 пробела
Условия в ветвлениях строятся с помощью операций сравнения, возвращающих булево значение True (Истина) или False (Ложь):
• == — проверка на равенство (ВНИМАНИЕ: именно два знака равно! Одиночный знак = является присваиванием);
• != — проверка на неравенство («не равно»);
• > — строго больше;
• < — строго меньше;
• >= — больше или равно;
• <= — меньше или равно.
В Python, в отличие от других языков, разрешены удобные двойные математические неравенства:
print("x лежит в диапазоне от 10 до 20")
Равенство (==)
Неравенство (!=)
Частая ошибка
Ошибка SyntaxError: if x = 5: часто возникает у новичков. Всегда пишите два знака равно: if x == 5:.
Когда необходимо предусмотреть альтернативное действие при несоблюдении условия, используют блок else (иначе):
if x % 2 == 0:
print("Число четное")
else:
print("Число нечетное")
Если условий больше двух (множественный выбор), применяется конструкция каскадного ветвления с ключевым словом elif (сокращение от else if — «иначе если»):
print("Отлично (5)")
print("Хорошо (4)")
print("Удовлетворительно (3)")
else:
print("Неудовлетворительно (2)")
Проверка условий идет сверху вниз: как только срабатывает первое истинное условие, выполняется его блок, а все последующие ветки elif и else полностью пропускаются.
else (иначе)
elif (иначе если)
Классическая задача алгоритмизации — нахождение наибольшего значения из введенных чисел:
Алгоритм для двух чисел a и b:
if a > b:
else:
Алгоритм для трех чисел a, b, c:
if b > maximum:
if c > maximum:
print("Максимум равен:", maximum)
