跳到主要内容

R语言 while 循环

提示
  1. while 循环基础:在 R 中,while 循环用于重复执行代码块,直到指定的条件不再为真。
  2. 循环控制语句break 语句可用于在满足特定条件时提前终止 while 循环;next 语句用于跳过当前迭代。
  3. 实用示例:示例展示了如何使用 while 循环计算自然数之和,以及如何使用 breaknext 控制循环流程。

在编程中,循环用于重复执行代码块,只要满足指定的条件。循环帮助你节省时间,避免重复的代码块,并编写更干净的代码。

在 R 中,有三种类型的循环:

R 中的 while 循环

当你不知道一个代码块需要重复执行多少次时,就使用 while 循环。R 中 while 循环的基本语法是:

while (test_expression) {
# 代码块
}
  • 这里,首先评估 test_expression
  • 如果结果为 TRUE,则执行 while 循环内的代码块。
  • 执行完成后,再次评估 test_expression,并重复同样的过程,直到 test_expression 评估为 FALSE
  • 当布尔表达式返回 FALSE 时,while 循环将终止。

示例 1:R 中的 while 循环

让我们看一个计算前十个自然数之和的程序。

# 变量用于存储当前数字
number = 1

# 变量用于存储当前总和
sum = 0

# while 循环计算总和
while(number <= 10) {

# 计算总和
sum = sum + number

# 数字加 1
number = number + 1
}

print(sum)

输出

[1] 55

这里,我们声明了两个变量:numbersumwhile 语句中的 test_conditionnumber <= 10

这意味着只要 number 的值小于或等于 10while 循环就会继续执行并计算 sum

示例 2:带有 break 语句的 while 循环

R 中的 break 语句可用于停止 while 循环的执行,即使测试表达式为 TRUE。例如,

number = 1

# while 循环打印从 1 到 5 的数字
while(number <= 10) {
print(number)

# 数字加 1
number = number + 1

# 如果数字为 6 则中断
if (number == 6) {
break
}
}

输出

[1] 1
[1] 2
[1] 3
[1] 4
[1] 5

在这个程序中,我们在 while 循环内使用了 break 语句,一旦 if 语句内的条件评估为 TRUE,就会中断循环。

if (number == 6) {
break
}

因此,当 number 变量等于 6 时,循环终止。所以,只打印了数字 15

示例 3:带有 next 语句的 while 循环

你可以在 while 循环中使用 next 语句来跳过迭代,即使测试条件为 TRUE。例如,

number = 1

# while 循环打印从 1 到 10 的奇数
while(number <= 10) {

# 如果数字是偶数则跳过迭代
if (number %% 2 == 0) {
number = number + 1
next
}

# 如果数字是奇数则打印
print(number)

# 数字加 1
number = number + 1
}

输出

[1] 1
[1] 3
[1] 5
[1] 7
[1] 9

这个程序只打印了 1 到 **

10** 范围内的奇数。为此,我们在 while 循环中使用了 if 语句来检查 number 是否能被 **2** 整除。

这里,

  • 如果 number 能被 2 整除,则它的值简单地增加 1 并使用 next 语句跳过迭代。
  • 如果 number 不能被 2 整除,则打印该变量并将其值增加 1