【发布时间】:2021-09-05 22:08:00
【问题描述】:
我不熟悉编码和在线学习 Python 基础课程。我正在讨论的当前部分使用布尔运算符讨论真值表。我正在关注其中的大部分内容,但是无论我经历多少次,都有一部分对我来说毫无意义。
这个想法是,对于数字 1 到 12 中的每一个,我们需要说明哪些结果最终是正确的,哪些结果是错误的。我对 1-5、7-8、10-12 没问题,但我总是把 6 和 9 弄错。
首先,我会先评估括号内的值(因为#6 A 为真,B 为假),然后用非(假或真)反转它们。由于其中一个是真的,我认为整个事情都是真的,因为它是一个“或”,但答案说它是错误的。 #9的情况也是如此,只是最终结果是(真或假),但按照相同的逻辑,我认为总体答案应该是正确的。
我试图继续课程,稍后再讨论,但他们讨论的下一件事是将分配属性应用于这些表达式的能力。使用它,我回到示例并提出了相同但显然不正确的答案。将整个陈述视为“不是 A 或不是 B”,我得出了相同的结论,即 #6 说“假或真”和 #9 说“真或假”,这两者似乎都是真的,因为我们正在使用“或”不是“和”
请解释我在这里缺少什么,我无法理解这一点。提前致谢!
【问题讨论】:
-
如果
A or B为真,那么not (A or B)为假。这就是not的意思。not (A or B)与not A or not B不同。 -
布尔分布也改变了运算符。
not (A or B)不是(not A) or (not B),而是(not A) and (not B) -
哦,好吧,我错过了 or 更改为 and 的部分。感谢您的帮助,这让我发疯了!
-
它不会“更改为 and”,只是在 -2 x -4 中将 -4 更改为 4。该原理被称为“德摩根定律”。