for i in range(2):
for j in range(2):
print(i, j, end='')
嘿伙计,所以我只是在理解这个嵌套循环的概念时遇到了问题。 运行程序时的输出为:0 00 11 01 1
我无法弄清楚为什么输出是这样的。有人能给我一步一步解释执行此命令的顺序吗?
谢谢
答案 0 :(得分:0)
i = 0且j = 0
它将打印0 0,此处结束为'',表示没有空格
现在i = 0且j = 1
它将打印0 00 1
现在i = 1 j = 0
它将打印0 00 11 0
现在i = 1且j = 1
它将打印0 00 11 01 1
答案 1 :(得分:0)
这种轻微的重新格式化输出是否有帮助:
0 00 11 01 1 ==> 0 0 | 0 1 | 1 0 | 1 1
i j i j i j i j
答案 2 :(得分:0)
程序中有两个循环。一个是外部的,另一个是内部循环。 所以这就是代码的工作方式。 首先执行以下代码
for i in range(2):
这将值i设为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而我仍然是0 所以输出看起来像
0 00 1
(注意:前0 0是前一个输出)
现在完成以下代码
for j in range(2):
它以j的值1结束,因为范围(2)表示值将从0开始到1。
现在将执行以下代码。
for i in range(2):
,我的值将变为1。
现在内循环将再次运行。
for j in range(2):
这将再次将j的值设置为0,并在下一次迭代中设置。
所以最终输出看起来像
0 00 11 01 1
答案 3 :(得分:0)
修改您的代码,如下所示,它将消除混淆:
>>> for i in range(2):
for j in range(2):
print(i, j, sep='', end=' ')
00 01 10 11