全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 R语言论坛
5830 8
2013-02-03
i<-0
for (j in 1:3) {
     print(j)
   if (i==0&&j==2) {i<-(i+1)
     j<-(j-1)
     print(j+100)
   }
}

结果竟然是
[1] 1
[1] 2
[1] 101
[1] 3
为什么不是
[1] 1
[1] 2
[1] 101
[1] 2
[1] 3   ??

二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

全部回复
2013-2-3 22:55:30
觉得是:for 和while 循环中止的区别。
for(是指定的)
while(i 不清楚具体变化的情况下,只通过逻辑判断)
。。。

按照你的思维, for(j in 1:3){
                            j=2
                          } 那不就是 死循环吗? j=2,就循环啊 循环。。。。
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2013-2-4 02:22:29
对啊。。。俺以为r中loop如果按ls写法就是死循环。。。但是r还是照常走1->2->3, 奇怪啊
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2013-2-4 02:50:03
stcopy 发表于 2013-2-4 02:22
对啊。。。俺以为r中loop如果按ls写法就是死循环。。。但是r还是照常走1->2->3, 奇怪啊
二楼那个不是死循环

for(j in 1:3) {
    j=2
}

开始j=1,然后进入循环体赋值j=2,好了,循环体执行完毕,进入下一个循环j=2
开始j=2,然后进入循环体赋值j=2,好了,循环体执行完毕,进入下一个循环j=3
开始j=3,然后进入循环体赋值j=2,好了,循环体执行完毕,没有再多循环可以执行了,完了

二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2013-2-4 06:13:28
qoiqpwqr 发表于 2013-2-4 02:50
二楼那个不是死循环

for(j in 1:3) {
那请问俺主题里的代码呢?
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2013-2-4 06:37:31
stcopy 发表于 2013-2-4 06:13
那请问俺主题里的代码呢?
一步一步的来,一个道理

先看循环j=1,会有什么结果。然后j=2,j=3
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

点击查看更多内容…
相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群