これら2つのステートメントが等しくない理由を誰か説明できますか?
if not(a and not b):
// do some stuff
if (not a and b):
// do some stuff
最初のステートメントを 2 番目のステートメントに変更して、プログラムをより理解しやすくしようとしましたが、うまくいきません。理由がまったくわかりません。
これら2つのステートメントが等しくない理由を誰か説明できますか?
if not(a and not b):
// do some stuff
if (not a and b):
// do some stuff
最初のステートメントを 2 番目のステートメントに変更して、プログラムをより理解しやすくしようとしましたが、うまくいきません。理由がまったくわかりません。
De Morgan's Thereom を調べる必要があります。その半分は(a)です。
not(p and q) -> not(p) or not(q)
それがあなたの状況にどのように当てはまるかという点では、 と に置き換えてp
ください:a
q
not(b)
not(a and not b) -> not(a) or not(not(b))
-> not(a) or b
(a)残りの半分は次のとおりです。
not(p or q) -> not(p) and not(q)
if not(a and not b)
if (not a) or b
あなたが書いたものではなく、 と同じです。