谁能解释为什么这两个陈述不相等?
if not(a and not b):
// do some stuff
if (not a and b):
// do some stuff
Run Code Online (Sandbox Code Playgroud)
我试图通过将第一个语句更改为第二个语句来使我的程序更容易理解,但它不起作用.我不完全理解为什么.
你应该看看De Morgan的Thereom,其中一半是(a):
not(p and q) -> not(p) or not(q)
Run Code Online (Sandbox Code Playgroud)
在如何适用于您的情况而言,只需更换p与a和q用not(b):
not(a and not b) -> not(a) or not(not(b))
-> not(a) or b
Run Code Online (Sandbox Code Playgroud)
(a)另一半是:
not(p or q) -> not(p) and not(q)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
7128 次 |
| 最近记录: |