‘Исключающее или’ в Python

Если вам требуется проверить, что был передан строго один из двух (и более) аргументов, то стоит использовать “Исключающее или” (XOR), что в Python реализуется достаточно просто:

def is_just_one_from_two(el_1=None, el_2=None):
    if bool(el1) == bool(el2):
	      print("There are just one element")

is_just_one_from_two(el_1 = "val1", el_2 = "val2")    # -> False
is_just_one_from_two(el_1 = None, el_2 = None)     # -> False
is_just_one_from_two(el_1 = "val1", el_2 = None)    # -> True
is_just_one_from_two(el_1 = None, el_2 = "val2")    # -> True

Таблица истинности многое проясняет, если посмотреть внимательно:

aba xor b
000
011
101
110

Где это может пригодиться? Как правило, данная проверка необходима в случаях, когда вы можете в качестве входных данных принять первое или второе значение и работать с ним, но когда на вход поступает сразу два значения, нужно либо выбрать одно из них, либо сообщить о проблеме, и если выбирать одно из значений будет некорректно, то XOR позволит провести нужную проверку.

0

Автор публикации

не в сети 2 недели

art610

1000K
Lnovus Support
Комментарии: 0Публикации: 29Регистрация: 04-06-2022
Оцените материал
( Пока оценок нет )
Locus Novus
Добавить комментарий

Авторизация
*
*
Регистрация
*
*
*
Пароль не введен
Генерация пароля