了解 Python 中嵌套循环的控制结构

Understanding control structure of nested loops in Python

下面的所有选项都会产生相同的输出,但我不太明白为什么。有谁能解释为什么在每一行上为 j 打印多个值?我认为它会在每次设置为 0 时打印 0,或者打印 1、2、3、4。

选项 1:

for i in range(1, 6):
    j = 0
    while j < i:
        print(j, end = " ")
        j += 1
    print("")

Option 2:

for i in range(1, 6):
    for j in range(0, i):
        print(j, end = " ")
    print("")

Option 3:

i = 1
while i < 6:
    j = 0
    while j < i:
        print(j, end = " ")
        j += 1
    i += 1
    print("")

输出:

0 
0 1 
0 1 2 
0 1 2 3 
0 1 2 3 4

由于内部while/for循环,一个或多个数字打印在一行上。

随着i的值在外循环递增,嵌套迭代的次数随着i的值的增加而增加。

由于第一个 print 语句的 end=" " 参数,数字在内循环中打印在同一行上,下一个序列出现在新行上,因为第二个 print外部迭代中的语句不包含任何此类参数。

为了更好地理解,对您的代码进行以下更改,一项一项地进行测试 运行 查看效果:

  • 将内循环中的i替换为某个常量值
  • end = " " 中的 space 替换为其他内容,例如end = "x"