德摩根定律和真值表的重要性
我已经学习 Python 几个星期了,我偶然发现了一个关于编程基础知识的有趣视频,它解释了德摩根定律。该定律来自称为布尔代数的数学领域。
尽管这不是您在编程中每天都会面临的问题——至少对于定理本身而言,理解这些概念在编码时会非常有帮助,特别是在复合条件时。这是我们作为开发人员经常做的事情。
基本上,根据维基百科,法律说“析取的否定是否定的合取”和“合取的否定是否定的析取”。
我们可以这样总结 Python 表达式:
not (x or y) == not x and not y not (x and y) == not x or not y
注意一个: 就像在数学中一样,当我们将括号之间的一组因子乘以单个因子(例如 2(x + 3))时,我们通过将它乘以括号内的所有元素来分配因子。这种情况也不例外。
**注意二:**一旦我们将“非”分配给运算符(和/或),就是将它取反并将其转换为相反运算符的简单操作(什么是“和”变成“或”,反之亦然) .
为什么理解这些简单的表达会有用?
因为一旦你这样做了,你就会明白真值表的重要性。真值表可用于表示条件语句的所有可能值及其可能结果。这意味着我们获得了 if 语句的所有可能场景,并检查我们创建的语句是否表达了我们的需要。
例子:
所以我们可以通过一个简单的例子来更好地理解。让我们考虑以下表达式:
x and y or z
如果我们创建一个包含 x、y 和 z 的所有可能值的真值表,我们将得到如下内容:
[
](https://res.cloudinary.com/practicaldev/image/fetch/s--FeZ2IeF8--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to- uploads.s3.amazonaws.com/uploads/articles/306gk4pvn3f1ed4pb756.png)
我们得到了八种组合,其中五种的计算结果为True。
容易,对吧?对于一个简单的例子来说可能很明显。但是根据上下文,条件可能会变得更复杂,创建这些验证以确保您创建的条件准确评估您的期望是很重要的。
更多推荐

所有评论(0)