Python解释循环

2024-04-20 15:56:12 发布

您现在位置:Python中文网/ 问答频道 /正文

我是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

不幸的是,我检查了这些问题12,并没有帮助我 我的问题是为什么每个循环都给出不同的输出


Tags: in文档文本forrangeprint新手
2条回答

实际情况是:

  • 使用range()方法和i作为索引不合并 在您的第一个循环中,range()5元素,因此它开始打印i2的元素,并增加一个元素并重复此操作,直到完成范围。你知道吗
  • 在第二个循环中,您使用了i作为索引,因此现在我们有两个同名的变量;i
    • 第一个声明值2
    • 另一个是在for之后创建的,在这个范围内只有一个i,循环迭代器覆盖第一个。print(i)循环完成后,您可以看到循环完成后仍然是4。所以需要 内部创建的
  • 循环3中,发生的情况与上述相同,但更改了range()中使用的值(增加或减少) 刺激后不会更改它,因为该方法是用变量调用和设置的,并且所有事情都发生在该方法中,因此您正在增加x,但在这样打印x之前不会生效
  j = 1
  x = 5
  for i in range(x):
      print (i)
      x+=1
  print (x)
  • 循环4使用了您先前声明的i以便正常工作,现在请注意,如果您从循环2中打印i,您将得到5,因为Python正在打印最近使用的内容,因此您知道您应该这样做,而不是像Java和C这样的语言
i = 2
j = 1
x = 5
for j in range(x):
    print (i)
    i+=1

j已设置为2,但作为循环中的迭代器元素被覆盖。j将迭代值[0, 1, 2, 3, 4],因为这是range返回的结果。i从1开始,在每个循环中递增。你知道吗


i = 2
j = 1
x = 5
for i in range(x):
    print (i)
    i+=1

现在i被循环覆盖,设置为相同的范围。然后打印出从range得到的信息


i = 2
j = 1
x = 5
for i in range(x):
    print (i)
    x+=1

调用range时,要迭代的列表[0, 1, 2, 3, 4]已经创建,递增xi没有任何作用,因此输出与上一种情况相同。你知道吗


最后一种情况与第一种情况相同。我希望这能帮助你了解正在发生的事情,但在未来你会得到更多的帮助,所以如果你更多地谈论你认为正在发生的事情和你坚持的具体事情。你知道吗

相关问题 更多 >