Spoilerok
Высший разум
(274247)
5 лет назад
Результат правильный. Вы не правильно понимаете, как работает булева математика.
Мороженое СливочноеУченик (90)
5 лет назад
Хм. В моем источнике по которому учусь, такого понятия как "булевая математика" вообще не встречалась. Максимально похожий термин к этому слову, только операнд bool, к которому пока не приближались.
Artemy BastardinovУченик (103)
1 год назад
Нет бы объяснить, почему так. Он поэтому, мать твою, и спрашивает, потому что не разобрался в булевой математике! Вас в школе учителя так же учили? Просто приходишь на урок математики, неправильно отвечаешь, а преподаватель вместо объяснения говорит "ты просто не разбираешься в математике"
Юрий Попов
Просветленный
(22436)
5 лет назад
True и False - это всего лишь значения, принимаемые приоритетами, а не операции. Операциями здесь являются not, or и and. Вот у операций есть приоритеты.
Приоритет операторов в Python
В следующей таблице описан приоритет выполнения операторов в Python от наивысшего (выполняется в первую очередь) до наинизшего.
ОператорОписание
**Возведение в степень
~ + -Комплиментарный оператор
* / % //Умножение, деление, деление по модулю, целочисленное деление.
+ -Сложение и вычитание.
>> <<Побитовый сдвиг вправо и побитовый сдвиг влево.
&Бинарный "И".
^ |Бинарный "Исключительное ИЛИ" и бинарный "ИЛИ"
<= < > >=Операторы сравнения
<> == !=Операторы равенства
= %= /= //= -= += *= **=Операторы присваивания
is is notТождественные операторы
in not inОператоры членства
not or andЛогические операторы
К примеру :
a = True
b = False
print (a and b or not a and not b)
Out : False
Почему? Ведь
((a and b) or ((not a) and (not b)))
(True and False) or (False and True)
Т. е. приоритет всегда у False?
Тогда почему :
x1, x2, x3 = False, True, False
not x1 or x2 and x3
Out: True
Т. е. True or x2 and x3
True or True and False
True or False (WTF)
Out: True (WTF)
Как? Объясните пожалуйста....