Сокращение условий с использованием логических операторов
При возникновении дублирования кода в разных ветках вложенных условных операторов можно сократить количество и вложенность условий применением логических операторов. Обычно используются операторы or и and, но бывают полезны и другие логические функции, а так же их комбинации.
Например, следующие условия определяют какую функцию вызвать: first_operator или second_operator.
if first_condition:
if second_condition:
first_operator()
else:
second_operator()
else:
if second_condition:
second_operator()
else:
first_operator()
Такая конструкция реализует следующую зависимость: если first_condition и second_condition оба истинны или ложны то выполняется first_operator, в других случаях second_operator. Условия можно переписать используя оператор равенства (или xor):
if first_condition == second_condition:
first_operator()
else:
second_operator()
Для сокращения таких условий может помочь построение таблицы истинности.