Насколько я понимаю, ваш первый случай более эффективен, потому что:
в этом пункте:
ГДЕ ((А ИЛИ Б) И (С ИЛИ Д))
весь оператор терпит неудачу, если ни A, ни B не верны; Вторая часть утверждения, (C ИЛИ D) не оценивается. Даже если A ИЛИ B верны, нужно проверить только еще одну пару - C ИЛИ D. В худшем случае перед проверкой всего оператора проверяются четыре критерия (если A = False, B = False, C = Неверно, но D = True). В лучшем случае утверждение становится ложным после проверки только A и B. Если ни одно из них не является истиной, то все утверждение ложно.
Во втором случае каждый из четырех случаев должен ВСЕМ оцениваться, прежде чем можно будет оценить оператор в целом.
Вложение условий ИЛИ внутри И означает, что если первый случай не удастся, более подробно, здесь больше ничего интересного. Вы улучшаете вещи еще больше, если вы ставите случай, скорее всего, как ложный, в качестве первой пары.
Мне будет интересно услышать от других об этом. , .