Оператор
ветвления (условный оператор) — это конструкция языка программирования, обеспечивающая выполнение определённой команды или набора команд только
при условии истинности некоторого логического выражения, либо
выполнение одной из нескольких команд (наборов команд) в зависимости от
значения некоторого выражения.
Схематичное изображение условного оператора if
Другими словами, как вы помните из рассматриваемых нами ранее принципов Булевой алгебры, результатом логического выражения может быть
либо ИСТИНА, либо ЛОЖЬ Это основополагающая часть любого языка программирования, которая заложена практически в любой алгоритм программы (имеется в виду достаточно большая программа).
Ветвление может быть: - простейшим - когда по результату логического выражения выполняется КАКОЕ ТО действие (if) - более сложным - когда выполняется ТО ИЛИ ИНОЕ действие (if - else) - сложным - когда используются вложенные
друг в друга операторы if (elif)
Кстати, в нашей с вами обычной жизни мы также повсеместно сталкиваемся с принятием решения на основе Булевой алгебры.
Например:
Если у меня хватит денег - я куплю картошки Если денег не хватит - я пойду домой
В общем виде запись условного оператора if выглядит так:
- сначала идет ключевое слово if (от английского "если"); -
затем – логическое выражение проверяемое на истинность высказывания
(оно может быть заключено в круглые скобки), после которого ставится
двоеточие, обозначающее конец заголовка оператора. - затем – любая
последовательность выражений (или тело условного оператора), которая
будет выполняться в случае, если условие в заголовке оператора истинно.
одиночный if - "если"
- ЕСЛИ на улице идет дождь, я буду сидеть дома
Т.е. мы сперва проверяем условие: идет ли дождь. - если дождь идет, то это является ИСТИНОЙ и мы выполняем конкретное действие - мы никуда не идем и сидим дома.
В виде программы это будет записано так:
if (идет дождь):
сижу дома
В такой записи при ложности высказывания оператор не выполняется.
Пример:
number = 4if number > 0:
print("Данное число положительное")
При значении переменной равной четырем будет выведено:
Данное число положительное
if - else
"если - тогда"
Однако в данном варианте мы не можем ничего сделать в случае, если дождя нет, или у нас есть зонтик. По условиям данного алгоритма
не предусмотрено выполнения других шагов. Чуть чуть изменим условие программы несколько усложнив ее позволяя произвести какое либо действие в случае, если условия ложно:
- ЕСЛИ на улице идет дождь, я буду сидеть дома - ЕСЛИ дождя нет - ТОГДА я пойду на улицу
Теперь сперва мы проверяем условие: идет ли дождь.
- если дождь идет, то это является ИСТИНОЙ и я выполняю определенное действие согласно условию: никуда не иду. - ЕСЛИ же дождя
нет - я иду на улицу
В виде программы это будет записано так:
if (идет дождь):
сижу дома
else:
иду на улицу
По данной аналогии изменяем нашу программу с числом так, чтобы можно было выбрать не только один вариант развития событий...
number = 4if number > 0:
print("Данное число положительное")
if number < 0:
print("Данное число отрицательное")
При значении переменной равной четырем будет выведено:
Данное число положительное
Если 4 заменить на отрицательное число, то будет выведена вторая запись:
Данное число отрицательное
Однако выглядит этот код не очень хорошо... и мы модифицируем его следующим образом:
number_new
= 4if number_new > 0:
print('Это число положительное!')
else:
print('Это число отрицательное!')
Расшифровывается данный код так: Если значение переменной number_new больше нуля - вывести сообщение: "Это число положительное!"; в противном случае вывести сообщение: "Это число отрицательное!"
elif (иначе если...)
Ключевое слово elif - это сокращенная запись else if (иначе если). Т.е. условие, которое следует после него проверяется только тогда, когда все предыдущие условия ложны. В таком виде количество elif не ограничено (будем так считать...) и код условия читается достаточно просто и наглядно.