Menu
CoddyTech

break 语句

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

有时,你需要提前退出循环,不必等它完成所有迭代。满足特定条件时,break 语句可以让你立即停止循环。

for (i in 1:10) {
  if (i == 5) {
    break
  }
  print(i)
}

输出:

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

循环原本会从 1 运行到 10,但当 i 达到 5 时,break 语句立即终止了整个循环。注意,5 从未被打印出来,因为 break 会立即退出循环。

在搜索某个内容时,这在 while 循环中尤其有用:

num <- 1
while (TRUE) {
  if (num * num > 20) {
    break
  }
  num <- num + 1
}
print(num)

输出:

[1] 5

这里,while (TRUE) 通常会一直运行下去,但找到第一个平方大于 20 的数字后,break 就会停止循环。这种模式很常见,适用于你需要一直搜索,直到满足某个条件的情况。

challenge icon

挑战

简单

从输入中读取一个数字 limit。使用 for 循环从 1 开始迭代到 limit,但遇到第一个能同时被 3 和 7 整除的数字时,使用 break 提前结束循环。

检查条件之前,先打印每个数字。找到一个能同时被 3 和 7 整除的数字时,打印该数字,然后跳出循环。

循环结束后,使用 print() 打印 "Loop ended"。

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

[1] 1
[1] 2
[1] 3
[1] 4
[1] 5
[1] 6
[1] 7
[1] 8
[1] 9
[1] 10
[1] 11
[1] 12
[1] 13
[1] 14
[1] 15
[1] 16
[1] 17
[1] 18
[1] 19
[1] 20
[1] 21
[1] "Loop ended"

循环会在 21 处停止,因为它是第一个能同时被 3 和 7 整除的数字(21 = 3 × 7)。

亲手试试

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

# TODO:在下方编写你的代码
# 使用 for 循环,从 1 遍历到 limit
# 检查条件前,先打印每个数字
# 找到同时能被 3 和 7 整除的数字时,退出循环
# 提示:使用 %% 运算符检查是否能整除


# 循环结束后打印 "Loop ended"
print("Loop ended")
quiz icon自我测试

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

基础知识中的所有课

自己练习: R 在线编译器