有一个while循环,这工作正常。但是我还需要添加另一个条件。
我需要循环继续运行,直到它满足 while 循环,但我还需要补充一点,这只能重复 x 次。
我认为您必须创建一个 for 循环才能执行 x 次,是否可以在其中放置一个 while 循环?
基本上我怎样才能使循环达到目标或在 x 循环后停止?
有一个while循环,这工作正常。但是我还需要添加另一个条件。
我需要循环继续运行,直到它满足 while 循环,但我还需要补充一点,这只能重复 x 次。
我认为您必须创建一个 for 循环才能执行 x 次,是否可以在其中放置一个 while 循环?
基本上我怎样才能使循环达到目标或在 x 循环后停止?
中的表达式while
必须为 TRUE,循环才能继续。您可以使用|
或&
添加额外的条件。此循环运行 99 次或直到随机变量的总和小于 100。
counter <- 0
result <- 0
while(counter < 100 | sum(result) < 100) {
result <- sum(result, rnorm(1, mean = 5, sd = 1))
counter <- sum(counter, 1)
}
> result
[1] 101.5264
> counter
[1] 21
只需将当前迭代器值作为参数传递给您的函数。这样,如果达到特定值,您就可以中断递归。
但是如果你使用递归,为什么会有一个while循环,例如:
add_one_recursive = function(number) {
number = number + 1
cat("New number = ", number, "\n")
if(number > 10) {
return(number)
} else {
return(add_one_recursive(number))
}
}
final_number = add_one_recursive(0)
New number = 1
New number = 2
New number = 3
New number = 4
New number = 5
New number = 6
New number = 7
New number = 8
New number = 9
New number = 10
New number = 11
根本不需要显式循环。