我是Python新手,但我仍然停留在Python如何调用和迭代for循环上,用不同的输出显示这些,我阅读了关于它如何工作的文档,但让我感到困惑,如果我能在这里得到帮助,我将不胜感激它。强壮文本
i = 2
j = 1
x = 5
for j in range(x):
print (i)
i+=1
输出:
2,3,4,5,6
i = 2
j = 1
x = 5
for i in range(x):
print (i)
i+=1
输出:
0,1,2,3,4
i = 2
j = 1
x = 5
for i in range(x):
print (i)
x+=1
输出:
0,1,2,3,4
i = 2
j = 1
x = 5
for j in range(x):
print (i)
i+=1
输出:
2,3,4,5,6
实际情况是:
range()
方法和i
作为索引不合并 在您的第一个循环中,range()
是5元素,因此它开始打印i
是2的元素,并增加一个元素并重复此操作,直到完成范围。你知道吗i
作为索引,因此现在我们有两个同名的变量;i
for
之后创建的,在这个范围内只有一个i
,循环迭代器覆盖第一个。print(i)
循环完成后,您可以看到循环完成后仍然是4。所以需要 内部创建的range()
中使用的值(增加或减少) 刺激后不会更改它,因为该方法是用变量调用和设置的,并且所有事情都发生在该方法中,因此您正在增加x
,但在这样打印x
之前不会生效i
以便正常工作,现在请注意,如果您从循环2中打印i
,您将得到5,因为Python正在打印最近使用的内容,因此您知道您应该这样做,而不是像Java和C这样的语言j
已设置为2,但作为循环中的迭代器元素被覆盖。j
将迭代值[0, 1, 2, 3, 4]
,因为这是range
返回的结果。i
从1开始,在每个循环中递增。你知道吗现在
i
被循环覆盖,设置为相同的范围。然后打印出从range
得到的信息调用
range
时,要迭代的列表[0, 1, 2, 3, 4]
已经创建,递增x
对i
没有任何作用,因此输出与上一种情况相同。你知道吗最后一种情况与第一种情况相同。我希望这能帮助你了解正在发生的事情,但在未来你会得到更多的帮助,所以如果你更多地谈论你认为正在发生的事情和你坚持的具体事情。你知道吗
相关问题 更多 >
编程相关推荐