Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/333.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/64.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R和Python中的无限for循环_Python_R_For Loop_Infinite Loop - Fatal编程技术网

R和Python中的无限for循环

R和Python中的无限for循环,python,r,for-loop,infinite-loop,Python,R,For Loop,Infinite Loop,您好,我对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 0 1 2 3 4 5 6 7 8 9 在Python中: for i in range(10): print(i) i = 5 结果: [1] 1 [1] 2 [1] 3 [1

您好,我对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
0
1
2
3
4
5
6
7
8
9
在Python中:

for i in range(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
0
1
2
3
4
5
6
7
8
9
当我们在每次迭代i到5之后设置值时,它应该进入无限循环。 请帮助我理解

提前谢谢。
阿什什

合法的问题和不公平的否决票

R
中,for循环中的
i
的行为就好像它在每次迭代时从另一个环境中存储、递增和重新加载一样(可能是这样),并非所有语言都是这样,但在
R
中是这样的

R地狱

8.1.64迭代是神圣不可侵犯的

在下面的循环中,“i”有两种用法

> for(i in 1:3) f
+ cat("i is", i, "nn")
+ i <- rpois(1, lambda=100)
+ cat("end iteration", i, "nn")
+ g

i is 1
end iteration 93
i is 2
end iteration 91
i is 3
end iteration 101
>用于(1:3中的i)f
+猫(“我是”,我,“nn”)

+i,因为for语句会在循环的顶部重置它。您可能会将
i
重置为
5
,但在
for
循环重置
i
后,它会立即重置为范围内的下一个值。首先,这将是生成无限循环的最糟糕方式,其次,for循环不会以这种方式工作@朱利安,差不多已经解释过了!即使stackoverflow不是这样工作的,您也要求同时在R和python中创建无限for循环,而没有指定为什么需要无限循环。她可能只需要简单的评论。使用
而在不中断条件的情况下使用
循环,它将work@Gahan,我只是想了解循环是如何工作的。