问题描述
这是一个循环,我找不到它为什么循环两次(以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
print("X "+str(gridX))
它应该输出以下内容:
X 1
X 2
X 3
X 4
Y 1
X 1
X 2
X 3
X 4
Y 2
X 1
X 2
X 3
X 4
Y 3
X 1
X 2
X 3
X 4
Y 4
欢迎获得此结果的更好方法。
1楼
更好的方法是double for循环。
for gridY in range(0,4):
print gridY
for gridX in range(0,4):
print gridX
2楼
虽然Izaaz为您提供了一种更好的方法,但是您可以扩展输出以更好地查看您的代码在做什么。 像这样逐步执行代码可以帮助您准确了解代码在做什么,可以将其与期望的代码进行比较。
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
之后,您可以看到得到的是else块四次,然后是if块,然后是四个else块。