有什么区别
if mi.(j) = false && m.(j).(i) = false
Run Code Online (Sandbox Code Playgroud)
和
if not (mi.(j) && m.(j).(i))
Run Code Online (Sandbox Code Playgroud)
因为我认为它具有相同的含义,但是当我运行代码时,它给了我一个不同的答案.
说mi.(j)是真的,m.(j).(i)是假的.
mi.(j) = false && m.(j).(i) = false
true = false && false = false
false && true
false
not (mi.(j) && m.(j).(i))
not (true && false)
not (false)
true
Run Code Online (Sandbox Code Playgroud)
你可能想要not (mi.(j) || m.(j).(i)).这基本上是DeMorgan法律的一个例子.
if mi.(j) = false && m.(j).(i) = false
Run Code Online (Sandbox Code Playgroud)
实际上是一样的
if not mi.(j) && not m.(j).(i)
Run Code Online (Sandbox Code Playgroud)
根据德摩根的法律,这相当于
if not (mi.(j) || m.(j).(i))
Run Code Online (Sandbox Code Playgroud)