如何在python中使用双while循环?

use*_*ser 2 python

python double while 循环与 java double 循环的工作方式不同吗?当我运行此代码时:

i = 0
j = 1
while i < 10:
    while j < 11:
        print i, j
        j+=1
    i+=1
Run Code Online (Sandbox Code Playgroud)

我得到以下输出:

0 1
0 2
0 3
0 4
0 5
0 6
0 7
0 8
0 9
0 10

我希望它继续循环打印 1 0, 1 1, 1 2, ... 2 0, 2 1, 2 3... etc. 为什么它只在一次迭代后停止?

mgi*_*son 5

您可能希望j在第一个循环内移动“初始化”。

i = 0
while i < 10:
    j = 1
    while j < 11:
        print i, j
        j+=1
    i+=1
Run Code Online (Sandbox Code Playgroud)

在您的代码中,一旦j到达11,内部循环就会停止执行(使用print语句)。在我的代码中,j每次i更改时我都会重置,以便内部循环再次执行。