Может ли кто-нибудь объяснить, почему эти два утверждения не равны?Если нет (a, а не b) и если (не a и b)
if not(a and not b):
// do some stuff
if (not a and b):
// do some stuff
Я попытался сделать мою программу более понятной, изменив первое утверждение на второе, но это не сработает. Я не совсем понимаю, почему.
две вещи: 1) Убедитесь, что старшинство разные логические операторы - это то, что вы думаете (включая левый и правый ассоциативный). 2) Если вы когда-либо ДЕЙСТВИТЕЛЬНО запутались, сделайте таблицу истинности (результат для всех возможных входов). Проверьте и сравните. – Patashu
Вы забыли полностью отменить, легче написать программу для итерации через таблицы истинности. –