对于嵌套在while语句中的语句不起作用

时间:2018-02-17 19:39:35

标签: r for-loop while-loop

我正在学习如何使用while和for循环,并且在while循环中执行for循环时遇到困难。我试图在一个向量上递归一个简单的过程,并让while循环设置操作向量部分的条件。这实际上只是作为练习来理解如何结合使用for和while循环。

data <- c(1:200)

n=0   

while(n < 100){
for(x in data){
n=x+1
if(x >= 10 & x < 100){
   print("double digit")
} else {
   print("single digit")
}}}

当程序遇到从1:200运行的向量的x = 100时,我想停止while循环。但相反,for循环遍历向量中的每个元素,从1:200开始,当n达到100时无法停止执行。

非常感谢任何帮助新编码员的建议,谢谢。

我也试过

for(x in data){
n=x+1
while(n < 100){
if(x >= 10 & x < 100){
  print("double digit")
} else {
  print("single digit")
}}}

但代码不会停止执行。

1 个答案:

答案 0 :(得分:2)

首先让我们尝试for循环。每次通过它n将被设置为循环计数器加1.如果此结果介于10和100之间,则打印消息,如果不打印其他内容。请注意,没有循环取决于n

data <- c(1:200)

n = 0

for (x in data) {
    n = x + 1
    if (n < 100) {
        if (x >= 10 && x < 100) {
            print("double digit")
        } else {
            print("single digit")
        }
    }
}
x
#[1] 200

n
#[1] 201

现在进行while循环。我相信它更简单,只包含一个变量n

n <- 0
while (n < 100) {
    n = n + 1
    if (n < 100) {
        if (n >= 10) {
            print("double digit")
        } else {
            print("single digit")
        }
    }
}
n
#[1] 100