有人能解释一下这些python嵌套循环吗



在这些嵌套的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将从1转到0,也就是说,它将不占用任何值,并且不会打印j

接下来,i将变成2,然后j将从1变为2,从而产生来自j的输出1

这将继续下去,总体输出将是:

(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)

由于范围(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

最新更新