У меня проблемы с пониманием поведения моего кода.
Я пытаюсь сравнить два логических выражения, которые должны быть одинаковыми или иметь только одно конкретное требование, может быть правдой.Эта часть кода взята из функции, которая заполняет тюрьму:
test_1 = (gender in prison.keys())
test_2 = bool(convict_entering[gender])
=> convict_entering - это дикт, который имеет в качестве ключей пол и в качестве значений список, а пустой список рассматривается как False
он должен работать
if not (test_1 != test_2):
#does something if both are either true or either false
else:
#does something if the 2 bool are different
, но когда 2 значения равны True
, мой код входит в оператор else
, поэтому я не знаю, чего мне здесь не хватает.
Вот мой фактический код, как показано на рисунке ниже
test_1 = (gender in prison.keys())
test_2 = bool(convict_entering[gender])
if not (gender in prison.keys() != bool(convict_entering[gender])):