Python循环循环2次

时间:2014-03-14 19:01:20

标签: 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
        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

欢迎以更好的方式获得这一结果。

2 个答案:

答案 0 :(得分:1)

更好的方法可能是循环加倍。

for gridY in range(0,4):
    print gridY
    for gridX in range(0,4):
        print gridX

答案 1 :(得分:0)

虽然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

在此之后,您可以看到你正在获得其他区块四次,然后一个区块,然后是另外四个区块....