Статья Автор: Анастасия Гейер

Тема урока: условный оператор

Тема урока: условный оператор 

  1. Условный оператор
  2. Отступы
  3. Операторы сравнения
  4. Цепочки сравнений
  5. Решение задач
  6. Частые ошибки

Аннотация. Урок посвящен условному оператору if-else.

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

Мы познакомились с базовыми строительными блоками программ, научились писать программы, обеспечивающие ввод, обработку и вывод данных. Более того, мы умеем работать со строками и числами, как мы делаем это в математике. Теперь научимся управлять ходом выполнения программы.

Программы должны уметь выполнять разные действия в зависимости от введенных данных. Для принятия решения программа проверяет, истинно или ложно определенное условие.

В Python существует несколько способов проверки, и в каждом случае возможны два исхода: истина (True) или ложь (False).

Проверка условий и принятие решений по результатам этой проверки называется ветвлением (branching). Программа таким способом выбирает, по какой из возможных ветвей ей двигаться дальше.

В Python проверка условия осуществляется при помощи ключевого слова if.

Рассмотрим следующую программу:



Программа просит пользователя ввести текст и проверяет результат ввода. Если введенный текст равен строке «Python», то выводит пользователю текст:

Верно! Мы ботаем Python =)
Python - отличный язык!

Двоеточие (:) в конце строки с инструкцией if сообщает интерпретатору Python, что дальше находится блок команд. В блок команд входят все строки с отступом под строкой с инструкцией if, вплоть до следующей строки без отступа.

Если условие истинно, выполняется весь расположенный ниже блок. В предыдущем примере блок инструкций составляет третья и четвертая строки программы.

Блоком кода называют объединенные друг с другом строки. Они всегда связаны с определенной частью программы (например, с инструкцией if). В Python блоки кода формируются при помощи отступов.

Предыдущая программа выводит текст в случае, если условие истинно. Но если условие ложно, то программа ничего не выводит. Для того чтобы обеспечить возможность выполнять что-либо в случае, если условие оказалось ложным, мы используем ключевое слово else.



В новой программе мы обрабатываем сразу два случая: если условие истинно (пользователь ввел «Python»), и если условие ложно (пользователь ввел что угодно, кроме «Python»).

Отступы

В некоторых языках программирования отступы — дело личного вкуса, и можно вообще обходиться без них. Однако в Python они – неотъемлемая часть кода. Именно отступ сообщает интерпретатору Python, где начинается и где заканчивается блок кода.

Отступ — небольшое смещение строки кода вправо. В начале такой строки находятся пробелы, и поэтому она на несколько символов отстоит от левого края.

Некоторым инструкциям в Python (например, инструкции if) именно блок кода сообщает, какие действия следует предпринять. После if блок кода информирует интерпретатор Python, как действовать, если условие истинно, и как — если оно ложно.

По соглашению PEP 8, для отступа блоков кода используются 4 пробела. Если в среде VS Code или Wing IDE нажать на клавишу Enter после if, она автоматически выставит 4 пробела.

Операторы сравнения

Можно заметить, что в проверке условия мы использовали двойное равенство (==), вместо ожидаемого одиночного (=). Не стоит путать оператор присваивания (=) с условным оператором (==).

Оператор присваивания (=) присваивает переменным значения:

num = 1992
s = 'I love Python'

Для проверки двух элементов на равенство Python использует удвоенный знак равно (==). Вот так:

if answer == 'Python':
    ...
if name == 'Gvido':
    ...
if temperature == 40:
    ...

Путаница с операторами == и = является одной из самых распространенных ошибок в программировании. Эти символы используются не только в Python, и каждый день множество программистов используют их неправильно.

В Python существует 6 основных операторов сравнения.

  Выражение                        Описание
if x > 7 если xx больше 7
if x < 7 если x меньше 7
if x >= 7 если x больше либо равен  7
if x <= 7 если x меньше либо равен  7
if x == 7 если x равен  7
if x != 7 если x не равен  7

Рассмотрим пример:


Цепочки сравнений

Операторы сравнения в Python можно объединять в цепочки (в отличие от большинства других языков программирования, где для этого нужно использовать логические связки), например, a == b == c или 1 <= x <= 10. Следующий код проверяет, находится ли значение переменной age в диапазоне от 33 до 66:



Код, проверяющий равенство трех переменных, может выглядеть так:

Печать