【发布时间】:2018-02-16 22:35:12
【问题描述】:
您好,我是 R 和 Python 的新手,只是想了解为什么下面的代码没有提供无限的价值:
in R :
for (i in 1:10) {
print(i)
i=5
}
结果:
[1] 1
[1] 2
[1] 3
[1] 4
[1] 5
[1] 6
[1] 7
[1] 8
[1] 9
[1] 10
在 Python 中:
for i in range(10):
print(i)
i = 5
结果:
0
1
2
3
4
5
6
7
8
9
由于我们在 i 的每次迭代后将值设置为 5,它应该进入无限循环。 请帮我理解。
提前致谢。 灰烬
【问题讨论】:
-
因为它在循环顶部被 for 语句重置。
-
您可能会将
i重置为5,但在for循环将i重置为范围内的下一个值之后。 -
首先,这将是最糟糕的无限循环方式,其次,for 循环不能那样工作! @Julien,几乎给出了解释!
-
甚至 stackoverflow 也不能这样工作,您要求一次在 R 和 python 中进行无限循环,而不是指定为什么需要无限循环。只是一个简单的评论是可能的她。使用
while循环而不打破条件,它会工作 -
@Gahan,我只是想了解一下循环是如何工作的。
标签: python r for-loop infinite-loop