= Программы должны уметь выполнять разные действия в зависимости от введенных данных. Для принятия решения программа проверяет, истинно или ложно определенное условие.
В Python существует несколько способов проверки, и в каждом случае возможны два исхода: истина (True) или ложь (False).
Проверка условий и принятие решений по результатам этой проверки называется ветвлением (branching). Программа таким способом выбирает, по какой из возможных ветвей ей двигаться дальше.
В Python проверка условия осуществляется при помощи ключевого слова if.
Рассмотрим следующую программу:
answer = input('Какой язык программирования мы изучаем?')
if answer == 'Python':
print('Верно! Мы ботаем Python =)')
print('Python - отличный язык!')Программа просит пользователя ввести текст и проверяет результат ввода. Если введенный текст равен строке «Python», то выводит пользователю текст:
Верно! Мы ботаем Python =)
Python - отличный язык!Двоеточие (:) в конце строки с инструкцией if сообщает интерпретатору Python, что дальше находится блок команд. В блок команд входят все строки с отступом под строкой с инструкцией if, вплоть до следующей строки без отступа.
Если условие истинно, выполняется весь расположенный ниже блок. В предыдущем примере блок инструкций составляет третья и четвертая строки программы.
Блоком кода называют объединенные друг с другом строки. Они всегда связаны с определенной частью программы (например, с инструкцией if). В Python блоки кода формируются при помощи отступов.
Предыдущая программа выводит текст в случае, если условие истинно. Но если условие ложно, то программа ничего не выводит. Для того чтобы обеспечить возможность выполнять что-либо в случае, если условие оказалось ложным, мы используем ключевое слово else.
answer = input('Какой язык программирования мы изучаем?')
if answer == 'Python':
print('Верно! Мы ботаем Python =)')
print('Python - отличный язык!')
else:
print('Не совсем так!')В новой программе мы обрабатываем сразу два случая: если условие истинно (пользователь ввел «Python»), и если условие ложно (пользователь ввел что угодно, кроме «Python»).
Отступы
В некоторых языках программирования отступы — дело личного вкуса, и можно вообще обходиться без них. Однако в Python они – неотъемлемая часть кода. Именно отступ сообщает интерпретатору Python, где начинается и где заканчивается блок кода.
Отступ — небольшое смещение строки кода вправо. В начале такой строки находятся пробелы, и поэтому она на несколько символов отстоит от левого края.
Некоторым инструкциям в Python (например, инструкции if) именно блок кода сообщает, какие действия следует предпринять. После if блок кода информирует интерпретатор Python, как действовать, если условие истинно, и как — если оно ложно.
По соглашению PEP 8, для отступа блоков кода используются 4 пробела. Если в среде VS Code или Wing IDE нажать на клавишу Enter после if, она автоматически выставит 4 пробела.
Операторы сравнения
В проверке условия используется либо двойное равно ( == ).
| Выражение | Описание |
|---|---|
if x > 7 | если x больше 77 |
if x < 7 | если x меньше 77 |
if x >= 7 | если x больше либо равен 77 |
if x <= 7 | если x меньше либо равен 77 |
if x == 7 | если x равен 77 |
if x != 7 | если x не равен 77 |
Рассмотрим пример:
num1 = int(input())
num2 = int(input())
if num1 < num2:
print(num1, 'меньше чем', num2)
if num1 > num2:
print(num1, 'больше чем', num2)
if num1 == num2: # используем двойное равенство
print(num1, 'равно', num2)
if num1 != num2:
print(num1, 'не равно', num2)Цепочки сравнений
Операторы сравнения в Python можно объединять в цепочки (в отличие от большинства других языков программирования, где для этого нужно использовать логические связки), например, a == b == c или 1 <= x <= 10. Следующий код проверяет, находится ли значение переменной age в диапазоне от 33 до 66:
age = int(input())
if 3 <= age <= 6:
print('Вы ребёнок')Код, проверяющий равенство трех переменных, может выглядеть так:
if a == b == c:
print('числа равны')
else:
print('числа не равны')