При изучении раздела «Программирование» в курсе информатики в 7 классе вы познакомились с основными видами алгоритмов Вспомним три основных вида алгоритмических конструкций, использующихся в программировании:
- линейный алгоритм;
- разветвляющийся алгоритм;
- циклический алгоритм
Познакомимся с реализацией разветвляющего алгоритма в Python.
Оператор ветвления (условный оператор) — это конструкция языка программирования, обеспечивающая выполнение определённых команд при условии истинности некоторого логического выражения (условия) и выполнение других команд (либо бездействие) в противном случае.
Напомним, что оператор ветвления может иметь все формы: полную и неполную:
|
Неполная форма |
Полная форма |
Блок-схема |
 |
 |
Пример |
Если дождь, взять зонт (иначе ничего брать не нужно) |
Если есть в продаже батон - купить батон, иначе купить буханку белого хлеба. |
На языке Кумир |
. если (условие)
. . то
. . . (действие)
. все
|
. если (условие)
. . то
. . . (действие 1)
. . иначе
. . . (действие 2)
. все
|
На языке Python |
if условие:
операторы, если условие верно
|
if условие:
операторы, если условие верно
else:
операторы, если условие неверно |
Если условие неверно и никаких действий выполнять не нужно, то используется неполная форма. При неверном условии – действия выполняются, то это полная форма оператора ветвления.
Для записи оператора ветвления в Python используются:
- служебные слова if, else
- двоеточие в строке с if после условия и в строке с оператором else
- отступ в 4 пробела или один знак табуляции. Если двоеточие поставлено согласно синтаксису, то в среде разработки отступ ставится автоматически
- В качестве условия используются операторы сравнения:
Обозначение |
Назначение |
Пример условия |
< |
Меньше |
x > 0 (число x положительно) |
> |
Больше |
y < 10 (число y меньше 10) |
<= |
Меньше или равно |
t >= 3 (число t не меньше трех) |
>= |
Больше или равно |
q <= 0 (число q не положительно) |
== |
Равно |
s == 36.6 (число s равно 36.6) |
!= |
Не равно |
a != -5 (число a не равно -5) |
Обратите внимание, что при написании условия равенства используется двойной знак равенства: ==. Использование одинарного знака равенства при сравнении приведет к ошибке, так как знак равенства в Python – это оператор присваивания, команда, которая изменяет значение переменной.
В Python, как и в математике возможно записывать двойные неравенства/равенства
Математическая запись |
Запись в Python |
10<t<20 |
10<t<20 |
-5≤x≤10 |
-5<=x<=10 |
0<a≤100 |
0<a<=100 |
a=b=7 |
a==b==7 |
Как и в математике, в Python нельзя использовать запись двойные условия со знаком «не равно». Подумайте почему, приведите примеры.
Условный оператор if… else в полной форме используется если два варианта: либо условие выполняется, либо не выполняется. Как же быть, если нужно реализовать не две, а больше взаимоисключающих случаев. Например, при покупке билета на спектакль несколько вариантов: для детей до трех лет – бесплатно, для дошкольников (до 7 лет) – 30 % от стоимости, для молодежи (до 23 лет) – 50 %, для взрослого 100% стоимости, а для людей старше 60 лет – 60 % от полной стоимости билета.
В этом случае удобно использовать каскадные условия if… elif…else. Обратите внимание, что условия обязательно должны быть взаимоисключающими друг друга.