我正在学习如何使用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")
}}}
但代码不会停止执行。
答案 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