Menu
CoddyTech

while 循环

本课属于 Coddy R 学习旅程的“基础知识”单元。第 39 课,共 78 课。

for 循环会遍历预先定义的序列,而 while 循环 会在条件保持为 TRUE 时持续运行。当你事先不知道需要重复多少次时,这种循环很有用。

count <- 1
while (count <= 3) {
  print(count)
  count <- count + 1
}

输出:

[1] 1
[1] 2
[1] 3

循环会在每次迭代前检查条件 count <= 3。当 count 变成 4 时,条件为 FALSE,循环就会停止。

重要:你必须在循环中更新变量。如果没有 count <- count + 1,条件就会始终为 TRUE,从而创建一个永远不会结束的无限循环。

total <- 0
num <- 1
while (num <= 5) {
  total <- total + num
  num <- num + 1
}
print(total)

输出:

[1] 15

这个示例将数字 1 到 5 相加,结果是 15。当停止点取决于条件而不是固定序列时,while 循环是理想的选择。

challenge icon

挑战

简单

从输入中读取一个数字 n。使用 while 循环计算并输出从 1 到 n 的所有数字之和。

先创建一个变量来记录当前总和,再创建另一个变量作为计数器。只要计数器小于或等于 n,就不断累加总和,并在每次循环时递增计数器。

循环结束后,使用 print() 输出最终总和。

例如,如果输入是 5,输出应为:

[1] 15

这是因为 1 + 2 + 3 + 4 + 5 = 15。

亲手试试

# 读取输入
con <- file("stdin", "r")
n <- as.integer(suppressWarnings(readLines(con, n = 1)))

# 初始化变量
total <- 0
counter <- 1

# TODO:在下方编写 while 循环,计算从 1 到 n 的总和


# 打印结果
print(total)
quiz icon自我测试

这节课包含一个小测验。开始学习即可作答,并记录你的进度。

基础知识中的所有课

自己练习: R 在线编译器