R 的 repeat 语句会多次执行代码块内的语句。编程中的 Repeat 循环不提供任何条件进行检查,因此我们必须给出退出的条件。
本文将通过一个示例向您展示如何在编程中使用 repeat。在进入实际案例之前,我们先看一下语法。
R 编程语言中 repeat 的语法如下所示。
repeat {
statement 1
statement 2
………….
statement N
# Please provide Condition to exit or use Break Statement
}
#This statement is from Outside
首先,它会执行循环内的语句,如果存在任何中断循环的语句,它将退出循环。
下图将展示 R repeat 的流程图。

repeat 流程图序列为:
- 首先,我们初始化变量。接下来,它将进入 Repeat 循环。
- 它将执行循环内的语句组。
- 接下来,我们必须在循环内使用某个表达式来退出。
- 现在它将检查条件。如果条件为 True,则执行 Break 语句退出循环。
- 如果条件为 False,则会再次执行 Repeat 循环内的语句。
R repeat 循环示例
此程序有助于我们理解 repeat。它允许用户输入一个小于 10 的整数。使用此值,它会将这些值累加直到 10。
# Example
total <- 0
number <- as.integer(readline(prompt="Please Enter any integer Value below 10: "))
repeat {
total = total + number
number = number + 1
if (number > 10) {
break
}
}
print(paste("The total Sum of Numbers From the Repeat Loop is: ", total))
在这个 R 编程 示例中,我们将输入数字 = 7。这意味着 total = 7 + 8 + 9 + 10 = 34

在以下语句中,首先,我们声明了 total 变量并将其赋值为零。接下来,它会要求用户输入任何小于 10 的整数,然后我们将用户输入的值赋给 number 变量。
total <- 0 number <- as.integer(readline(prompt="Please Enter any integer Value below 10: "))
下一行,我们使用了 While 循环,While 循环内的表达式将确保输入的数字小于或等于 10。
repeat {
total = total + number
number = number + 1
}
在此 R repeat 示例中,用户输入的数字为:number = 7,我们初始化 total = 0
第一次迭代
- total = total + number
- total = 0 + 7 ==> 7
接下来,number 增加 1(number = number + 1)。请参考 R 算术运算符 文章以理解此 + 符号。
第二次迭代
在第一次迭代中,number 和 total 的值都变为 number = 8 和 total = 7
- total = total + number
- total = 7 + 8 ==> 15
接下来,number 增加 1。
第三次迭代
在 repeat 的第二次迭代中,number 和 total 的值都变为 number = 9 和 total = 15
- total = total + number
- total = 15 + 9 ==> 24
接下来,number = number + 1
第四次迭代
在第三次迭代中,number 和 total 的值都变为 number = 10 和 total = 24
- total = total + number
- total = 24 + 10 ==> 34
接下来,number = number + 1
在这里,Number = 11,并且 If 语句 中的条件(number > 10)为 True。因此,执行 Break 语句,它将退出循环。
if (number> 10) {
break
}
最后一个 print 语句将输入的数字中所有数字的总和作为输出打印出来。
print(paste("The total Sum of Numbers From the While Loop is: ", total))
R 编程中的无限 Repeat 循环
如果您忘记使用条件或 Break 语句来终止 Repeat 循环,那么循环内的语句将无限次执行(也称为无限循环)。
# Infinite Repeat Example
total <- 0
number <- as.integer(readline(prompt="Please Enter any integer Value: "))
repeat {
total = total + number
number = number + 1
print(number)
}
[1] NA
[1] NA
[1] NA
..
..
在这个示例中,没有条件需要检查,也没有 break 语句来中断循环,因此 repeat 循环将无限次地执行语句。现在,让我们在 If 语句中添加 Break 语句。
total <- 0
number <- as.integer(readline(prompt="Please Enter any integer Value below 10: "))
repeat {
total = total + number
number = number + 1
if (number > 15) {
break
}
print(number)
}
现在,当它达到 15 时,条件将失败。让我们看看输出。
Please Enter any integer Value below 10: 6
[1] 7
[1] 8
[1] 9
[1] 10
[1] 11
[1] 12
[1] 13
[1] 14
[1] 15