我有一个看起来像这样的python 3代码:
for x in range(-1,2):
for y in range(-1,2):
if x != 0 and y != 0:
print("True")
输出看起来像这样:
True
True
True
True
应该输出8个"True"
。当(0,0)
和x
都等于y
时,对于不是0
的每个排列之一。为什么输出4呢?
通过将"print("True")"
替换为"print(x,y)"
输出来进行进一步调查:
-1,-1
1,-1
-1,1
1,1
0
到哪里去了?
答案 0 :(得分:3)
您应该使用“或”
for x in range(-1,2):
for y in range(-1,2):
if x != 0 or y != 0:
print(x, y)
print("True")