R 中的 While 循环

R 编程中的 While 循环用于重复执行一组语句,直到指定的表达式为 False。While 循环以表达式开始,如果表达式为 True,则会执行其中的语句。

如果指定的表达式为 False,则至少不会执行一次。这意味着此编程中的 while 循环可能会执行零次或多次。R 编程中 While 循环的语法如下所示。

While ( Expression )  {
    statement 1
    statement 2
    ………….
    statement N;
    # Increment or Decrements the Values
}
#This statement is from Outside of it

首先,它会检查 While 循环中的表达式。如果表达式的结果为 True,则将执行 while 循环块下的语句或语句组。如果表达式返回 False,它将跳出循环并执行 while 块外的其他语句。

R While 循环流程图

下图将展示 While 循环背后的流程图。

While Loop Flow Chart

While 循环将在开始时检查表达式。

  1. 如果 While 中的表达式为 True,则执行循环内的语句。
  2. 接下来,我们必须在 while 循环中递增或递减值。
  3. 值递增后,将再次检查表达式。只要条件为 True,就会执行 while 循环内的语句。
  4. 如果条件为 False,它将退出迭代。

让我们通过一个 While 循环的例子来更好地理解。

R 编程 While 循环示例

此 while 循环程序允许用户输入一个整数值。使用此值,它将这些值累加到 10。

# Example

total = 0
number <- as.integer(readline(prompt="Please Enter any Value below 10:  "))

while (number <= 10)  {
  total = total + number
  number = number + 1
}

print(paste("The total Sum of Numbers is:  ", total))

输出:对于这个R 编程示例,我们将输入数字 = 6。这意味着,总计 = 6 + 7 + 8 + 9 + 10 = 40

While Loop in R Programming 1

在此 while 循环的以下语句中,首先,我们声明了 total 变量并将其赋值为零。接下来,它将提示用户输入小于 10 的任何整数值,我们将用户输入的值赋给 number 变量。

total = 0
number <- as.integer(readline(prompt="Please Enter any Value below 10:  "))

下一行,我们使用了 While 循环,它里面的表达式将确保给定的数字小于或等于 10。

while (number <= 10)  {
  total = total + number
  number = number + 1
}

在此 R 示例的 while 循环中,用户输入的值为:number= 6,我们初始化 total = 0。

第一次迭代

  • total = total + number
  • total = 0 + 6 ==> 6

接下来,number 将增加 1(number= number + 1)。请参考R 算术运算符文章以了解此 + 符号。

第二次迭代:在 while 循环的第一次迭代中,number 和 total 的值都发生了变化,number = 7,total = 6

  • total = 6 + 7 ==> 13
  • 接下来,number 将增加 1。

第三次迭代:在第二次迭代中,number 和 total 的值都已更改为 number = 8,total = 13

  • total = 13 + 8 ==> 21
  • 接下来,number 增加了 1。

第四次迭代:在 R While 循环的第三次迭代中,number = 9,total = 21

total = 21 + 9 ==> 30

接下来,number 增加了 1

第五次迭代

在第四次迭代中,number = 10,total = 30

total = 30 + 10 ==> 40

接下来,number 增加了 1

此时 Number= 11,while 循环内的条件(number <= 10)将失败。

最后一个打印语句将打印在输出中给出的数字的总和。

print(paste("The total Sum of Numbers is:  ", total))

R 编程中的无限 While 循环

如果您忘记在 while 循环中递增或递减值,代码将无限次执行,也称为无限循环。

# Infinite While Loop Example

number <- 1

while (number < 10)  {
  print(paste("Value from it is:  ", number))
}
[1] "Value from it is:   1"
[1] "Value from it is:   1"
[1] "Value from it is:   1"
..
..

在此 while 循环示例中,number 始终为 1,并且 number 始终小于 10,因此它会无限次执行。让我们在上面的示例中将 + 运算符(number= number + 1)添加到 while 循环中。

# Infinite While Loop Example

number <- 1

while (number < 10)  {
  print(paste("Number from the While Loop is:  ", number))
  number = number + 1
}

当它达到 10 时,条件(number < 10)将失败。让我们看看示例的输出。

Infinite While Loop 3