Python 真值表 [duplicate]

Python truth tables [duplicate]

提问人:ShaneJ 提问时间:6/22/2021 最后编辑:khelwoodShaneJ 更新时间:6/22/2021 访问量:526

问:

我是编码和在线学习基本 Python 课程的新手。我刚才讨论的当前部分讨论的是布尔运算符的真值表。我正在关注其中的大部分内容,但无论我经历多少次,有一部分对我来说都没有意义。

This is the table in question

这个想法是,对于每个数字 1 - 12,我们需要说出哪些结果最终是正确的,哪些结果是错误的。我对 1-5、7-8、10-12 没问题,但我总是弄错 6 和 9。

首先,我会先评估部分内的值(因为 #6 A 为 True,B 为 False),然后用 not so it's(False 或 True)反转它们。由于其中一个是真的,我认为整个事情都是真的,因为它是一个“或”,但答案说它是假的。#9 也是如此,只是最终结果是(真或假),但通过遵循相同的逻辑,我认为总体答案应该是正确的。

我试图在课程中继续前进,稍后再回到这个问题,但他们讨论的下一件事是将分配律应用于这些表达式的能力。利用这一点,我回到了这个例子,并得出了相同的、显然不正确的答案。将整个陈述视为“不是 A 或不是 B”,我得出了相同的结论,#6 说“假或真”,#9 说“真或假”,两者似乎都是真的,因为我们使用的是“或”而不是“和”

请解释一下我在这里缺少什么,我只是无法解决这个问题。提前致谢!

布尔逻辑 真值表

评论

0赞 khelwood 6/22/2021
如果为 true,则为 false。这就是这个意思。 不同。A or Bnot (A or B)notnot (A or B)not A or not B
0赞 Altareos 6/22/2021
布尔分配性也会改变运算符。 不是 ,而是not (A or B)(not A) or (not B)(not A) and (not B)
0赞 ShaneJ 6/22/2021
哦,好吧,我错过了 or 更改为 and 的部分。谢谢你的帮助,这让我发疯了!
2赞 tripleee 6/22/2021
它不会“更改为和”,就像在 -2 x -4 中将 -4 更改为 4 一样。该原理被称为“德摩根定律”。

答:

0赞 Abhi_J 6/22/2021 #1

如果首先计算括号内的表达式,则将获得一个布尔值,然后对该值执行操作。not

例如:

1

a = True
b = False

print(a or b)

输出

True

2

print(not (a or b)) # which is equal to print(not(True))

输出

False