R repeat

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 loop Flow Chart

repeat 流程图序列为:

  1. 首先,我们初始化变量。接下来,它将进入 Repeat 循环。
  2. 它将执行循环内的语句组。
  3. 接下来,我们必须在循环内使用某个表达式来退出。
  4. 现在它将检查条件。如果条件为 True,则执行 Break 语句退出循环。
  5. 如果条件为 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

R repeat Loop 1

在以下语句中,首先,我们声明了 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