【发布时间】:2017-11-25 21:31:33
【问题描述】:
所以我正在处理一项任务,但在我尝试以下操作之前,我无法让我的代码正常工作:
而不是输入:
if (num != 0 and den != 0):
到:
if not(num == 0 and den == 0)
我也试过这个:
if not ((num and den ) == 0):
我不明白这些陈述之间有什么区别。第二个语句让它做我想做的事,但我不知道为什么。谢谢!
编辑:抱歉含糊不清,第一次来这里。 所以我想做的是: 可以证明:
(iii) 如果 num != 0 且 den != 0,则两条线不平行,因此相交于一个 点。
如果线段相交,则返回 True。
我是从我在课堂上使用的教科书中得到的。基本上有一个方程有一个分子和分母,这些是为它们所做的陈述。让我知道这是否仍然太模糊。另外,我正在使用python 3。谢谢!!!
【问题讨论】:
-
第一个只指定
num和den不能都为零。虽然这实际上是非常令人困惑的语法。 -
您能明确说明您的要求吗?您的第二个语句可能仍然无法按您的要求工作。乍一看,我猜是因为
and在!=之前执行的优先顺序。如果你想让and最后执行,你最好像(num != 0) and (den != 0)一样将它们包裹起来。 -
我们不知道你想要发生什么,因为我们不知道什么是让你的“代码工作”是什么。
-
你说的是德摩根定律吗?
-
抱歉各位,我编辑了这个问题,而且我编程时间不长,也不知道德摩根定律是什么。
标签: python logic logical-operators boolean-logic