嵌套循环输出混乱
Nested loop output confusion
for i in range(2):
for j in range(2):
print(i, j, end='')
大家好,我只是在理解嵌套循环的概念时遇到了问题。
我运行程序的输出是:0 00 11 01 1
我不明白为什么输出是这样的。谁能给我一步一步解释执行顺序?
谢谢
i = 0 且 j = 0
会打印0 0,这里结尾是'',表示没有space
现在 i = 0 且 j=1
它将打印 0 00 1
现在 i=1 j=0
它将打印 0 00 11 0
现在 i=1 且 j=1
它将打印 0 00 11 01 1
对您的输出进行这种轻微的重新格式化是否有帮助:
0 00 11 01 1 ==> 0 0 | 0 1 | 1 0 | 1 1
i j i j i j i j
您的程序中有两个循环。一个是外循环,另一个是内循环。
这就是代码的工作方式。
首先执行以下代码
for i in range(2):
这会将值 0 放入 i。
现在它进入内循环。所以执行了下面的代码
for j in range(2):
这会将值 0 放入 j。
现在执行下面的代码
print(i,j,end='')
这给出了输出,因为 i 和 j 的值都是 0。
0 0
在编程语言中,内循环先完成。
所以下面的代码会再次执行
for j in range(2):
这会将 j 的值设置为 1
现在j是1而i还是0
所以输出看起来像
0 00 1
(注:第一个0 0是前面的输出)
至此以下代码完成
for j in range(2):
它在 j 的值 1 处结束,因为范围 (2) 意味着值将从 0 到 1 开始。
现在将执行以下代码。
for i in range(2):
i值变为1
现在内部循环将再次 运行。
for j in range(2):
这将再次将 j 的值设置为 0,并在下一次迭代中设置为 1。
所以最终输出看起来像
0 00 11 01 1
修改你的代码如下,它会消除混乱:
>>> for i in range(2):
for j in range(2):
print(i, j, sep='', end=' ')
00 01 10 11
for i in range(2):
for j in range(2):
print(i, j, end='')
大家好,我只是在理解嵌套循环的概念时遇到了问题。 我运行程序的输出是:0 00 11 01 1
我不明白为什么输出是这样的。谁能给我一步一步解释执行顺序?
谢谢
i = 0 且 j = 0
会打印0 0,这里结尾是'',表示没有space
现在 i = 0 且 j=1
它将打印 0 00 1
现在 i=1 j=0
它将打印 0 00 11 0
现在 i=1 且 j=1
它将打印 0 00 11 01 1
对您的输出进行这种轻微的重新格式化是否有帮助:
0 00 11 01 1 ==> 0 0 | 0 1 | 1 0 | 1 1
i j i j i j i j
您的程序中有两个循环。一个是外循环,另一个是内循环。 这就是代码的工作方式。 首先执行以下代码
for i in range(2):
这会将值 0 放入 i。 现在它进入内循环。所以执行了下面的代码
for j in range(2):
这会将值 0 放入 j。 现在执行下面的代码
print(i,j,end='')
这给出了输出,因为 i 和 j 的值都是 0。
0 0
在编程语言中,内循环先完成。 所以下面的代码会再次执行
for j in range(2):
这会将 j 的值设置为 1
现在j是1而i还是0 所以输出看起来像
0 00 1
(注:第一个0 0是前面的输出)
至此以下代码完成
for j in range(2):
它在 j 的值 1 处结束,因为范围 (2) 意味着值将从 0 到 1 开始。
现在将执行以下代码。
for i in range(2):
i值变为1
现在内部循环将再次 运行。
for j in range(2):
这将再次将 j 的值设置为 0,并在下一次迭代中设置为 1。
所以最终输出看起来像
0 00 11 01 1
修改你的代码如下,它会消除混乱:
>>> for i in range(2):
for j in range(2):
print(i, j, sep='', end=' ')
00 01 10 11