Оператор ветвления применяется в случаях, когда выполнение набора команд должно зависеть от выполнения некоторого
условия. Это позволяет направлять действия программы по определенному пути. Реализовать условия в python позволяет конструкция - Блок В данном примере будет выведено в консоль В первом блоке мы проверяем, что num1 равен 1 Обратите внимание на оператор сравнения ==, не стоит его путать с оператором присваивания =. В первом случае, мы
сравниваем num1 с 1 и получаем Истина или Лож (True или False). А во втором случаем мы говорим, что теперь num1
содержит значение равное 1. Данная запись аналогична Выводит if
. Она имеет следующее определение:if условие_1:
инструкции
elif условие_2:
инструкции
else:
инструкции
else
выполняется только в том случае, если не одно из условий не было выполнено. Если условие
верно для нескольких блоков, то выполняется только первое.i = 5 # создадим переменную i со значением
5
if i>2:
print("i больше 2")
elif i>3:
print("i больше 3")
else:
print("нет подходящих условий")
"i больше 2"
, так как 5 больше 2, и это первое верное
условие! Второе условие в нашей программе не может быть выполнено.
Если мы переопредели значение i = 1, то
все условия будут ошибочны, и будет выведен блок else, либо при его отсутствии, программа продолжит выполняться
дальше.Множественные
условия
num1 = 1
num2 = 5
if num1 == 1 and (num2 == 2 or
num2 == 5):
print("block if", num1, num2)
elif num1 == 3 and num2 > 4:
print("block elif", num1, num2)
else:
print("block else")
и
(num2 равен или
2 или
5).- and (и)
подразумевает, что оба условия должны быть верны, тогда все выражение верно. Если
хоть одно не верно, то все выражение ошибочно.- or (или)
подразумевает, что хотя бы одно из
условий должно быть верно, тогда все выражение считается верным.Запись в одну строку
print("Верно!") if (num1 < num2)
else print("Не верно!")
if num1 < num2:
print("Верно!")
else:
print("Не верно!")
"Верно!"
если num1 меньше num2, если это не так то выведет "Не верно!"
Проверка на наличие в списке
# если i ЕСТЬ в списке
i = "y"
if i in ["y",
"Y"]:
print('Верно! {} in ["y", "Y"]'.format(i))
# если i НЕТ в списке
if i not in
["n", "N"]:
print('ОШИБКА! {} NOT ["n", "N"]'.format(i))
# Введено python 3.8+
# проверяет есть ли значение и присваивает его
p = {'foo': 'bar'}
if x := p.get('foo'):
print(x)
Альтернатива множественным if - else
def fun1(a):
print("msg" + a)
def fun2():
print("msg2")
method = {
"test": fun1,
"fun2": fun2,
}
# в первом случае будет вызвана функции соответствующая ключу test
# с аргументом _ttt_
method["test"]("_ttt_")
method["fun2"]()