谁能解释一下这些 python 嵌套循环

Can anyone explain these python nested loop please

我对这些 python 嵌套的 for 循环有疑问,内部循环是如何执行的 谁能在这里解决我的问题

for i in range(1, 4):
    print(i)
    for j in range(1, i):
        print(j)

基本上,您的 for 循环正在计算从 1 到上限减 1 的数字。

您的代码将 运行 如下:

i=1开始,它会打印出一个1然后j会从10,也就是需要没有值并且 j 不会被打印。

接下来,i会变成2,然后j会从1变成2,结果输出1 来自 j.

这将继续,总输出将是:

(i)1
(i)2
(j)1
(i)3
(j)1
(j)2

括号中的内容显示正在打印哪个变量。

一方面,您的代码示例格式不正确。 我假设代码是这样的。

for i in range(1, 4):
  print(i) 
  for j in range(1, i):
    print(j)

这是一个非常简单的 for 循环示例,我将通过两次迭代来说明这一点。
让我们看看外层的 for 循环,它从 1 到 3(不包括 4)

i=1 现在,j 将从 1 到 i,即 1 到 1。
内部循环现在如下所示:

..
  for j in range(1, 1):
    print(j)

作为range(1, 1),1将是唯一的,因此这个循环不会运行。 所以在迭代 1 中:

1 # print(i)

=====
i=2,现在,j 将从 1 到 i,即 1 到 2。 外循环将打印 2,现在内循环将如下所示:

..
  for j in range(1, 2):
    print(j)

这将打印 1,因为 2 是排除的限制。
现在输出将是

2 # outer loop
1 # Inner loop.

在类似的回顾中,最后一次迭代在 i=3
将给出输出:

3 # outer loop print(i)
1 # inner loop print(j)
2 # inner loop print(j)

结合所有三个最终输出将是

1 # outer
2 # outer
1 # inner
3 # outer
1 # inner
2 # inner