Python逻辑助记词

Python logic mnemonic

在回答 a question about Python and/or logic 时,Spacetoast 写道:

x and y returns true if both x and y are true.

x or y returns if either one is true.

我设法用 "or" 来混淆自己,而它应该是 "and"。不用画真值表,有助记and/or的正确用法的助记符吗?

这个问题的尖锐答案造成的混乱来自于他说 OR 包含 AND 这在你的情况下是正确的。这里没有什么要记住的,如果你使用 or 运算符并且 至少两个表达式之一是 True 那么它 returns True if none这两个表达式都是True呢returnsFalse

这意味着如果 xy 都是 True,那么 or 也将是 True,因为一旦第一个表达式 xTrue 不需要计算第二个。

另一方面,如果您使用 and 并且第一个表达式的计算结果不为真,则无需计算第二个表达式,因为它们不可能都为真不再。

不是真正的助记符,但 NOAH 过去曾帮助过我的学生。

有多少输入必须为真?

None => 也不

一个 => 或者

所有 => 并且

诚实 => 留意真相 tables

说实话,能用一个道理的功力table值得坚持。 (注意 python 中没有 NOR 运算符,它是非或)。

这个不需要助记词 通过一个简单的概念记住这一点:

或 -> 任何一个为真
和 -> 全部为真

真或假=真

真假=假