我正在学习如何使用 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")
}}}
但是代码并没有停止执行。
最佳答案
首先让我们尝试一下 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
关于r - For 语句嵌套在 while 语句中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48845180/