for x in range (2): for y in range (2): for z in range (2): for w in range (2): F = (( not x or y) and (not y or w)) or (z == (x or y)) if not F: print ( x,y,z,w )
выводит
0 1 0 0
1 0 0 0
1 0 0 1
1 1 0 0
(все верно)
А этот код
for x in range (2): for y in range (2): for z in range (2): for w in range (2): F = not(( not x or y) and (not y or w)) or (z == (x or y)) if F: print ( x,y,z,w )
0 0 0 0
0 0 0 1
0 1 0 0
0 1 1 0
0 1 1 1
1 0 0 0
1 0 0 1
1 0 1 0
1 0 1 1
1 1 0 0
1 1 1 0
1 1 1 1
Разница ведь в том, что я переместил not на другое место. Возможно, вопрос глупый, но я бы хотел во всем разобраться.