Python循环2次
这是一个循环,我找不到它为什么循环2次而不是1次的答案。Python循环2次,python,blender,Python,Blender,这是一个循环,我找不到它为什么循环2次而不是1次的答案。 我希望有人能帮我:) 循环现在可以工作了。非常感谢。 代码如下: gridX = 0 gridY = 0 while gridX <= 4 and gridY < 4: if gridX == 4: gridY += 1 gridX = 0 print("Y "+str(gridY)) else: gridX += 1 prin
我希望有人能帮我:)
循环现在可以工作了。非常感谢。
代码如下:
gridX = 0
gridY = 0
while gridX <= 4 and gridY < 4:
if gridX == 4:
gridY += 1
gridX = 0
print("Y "+str(gridY))
else:
gridX += 1
print("X "+str(gridX))
获得此结果的更好方法是受欢迎的。更好的方法可能是双for循环
for gridY in range(0,4):
print gridY
for gridX in range(0,4):
print gridX
虽然Izaz为您提供了一种更好的方法,但您可以扩展输出以更好地查看代码在做什么。像这样逐步浏览您的代码可以帮助您准确地理解代码正在做什么,您可以将其与您期望它做什么进行比较
gridX = 0
gridY = 0
while gridX <= 4 and gridY < 4:
if gridX == 4:
gridY += 1
gridX = 0
print("IF- X "+str(gridX)+" Y "+str(gridY))
else:
gridX += 1
print("ELSE- X "+str(gridX)+" Y "+str(gridY))
在这之后,您可以看到,您得到的else块是四次,然后是一个if块,然后是四个else块……循环两次是什么意思?“它应该输出这个”。我很困惑。这就是它的输出。如果你想知道如何改进一段已经运行的代码,请继续提问。我检查了你的代码,它正在输出你期望的结果。如果要使用while,则不必检查gridX,因为内部If总是将gridX从4重置为0,因此它永远不会导致while退出。您不必使用'X'+str(gridX),但可以打印'X',gridXor使用
itertools.product(范围(4),重复=2)
。
gridX = 0
gridY = 0
while gridX <= 4 and gridY < 4:
if gridX == 4:
gridY += 1
gridX = 0
print("IF- X "+str(gridX)+" Y "+str(gridY))
else:
gridX += 1
print("ELSE- X "+str(gridX)+" Y "+str(gridY))
ELSE- X 1 Y 0
ELSE- X 2 Y 0
ELSE- X 3 Y 0
ELSE- X 4 Y 0
IF- X 0 Y 1
ELSE- X 1 Y 1
ELSE- X 2 Y 1
ELSE- X 3 Y 1
ELSE- X 4 Y 1
IF- X 0 Y 2
ELSE- X 1 Y 2
ELSE- X 2 Y 2
ELSE- X 3 Y 2
ELSE- X 4 Y 2
IF- X 0 Y 3
ELSE- X 1 Y 3
ELSE- X 2 Y 3
ELSE- X 3 Y 3
ELSE- X 4 Y 3
IF- X 0 Y 4