Menu
CoddyTech

序列生成(seq、:)

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

你一直在使用 1:5 在循环中创建序列。这个冒号运算符快速又简单,但 R 还提供了 seq() 函数,让你能更灵活地控制序列。

冒号运算符会创建一个连续整数序列:

print(1:5)
print(10:6)

输出:

[1] 1 2 3 4 5
[1] 10 9 8 7 6

请注意,序列可以朝任意方向变化。第一个数字较大时,序列会递减。

seq() 函数能让你更灵活地生成序列。你可以使用 by 参数指定步长:

print(seq(2, 10, by = 2))

输出:

[1] 2 4 6 8 10

这会生成从 2 到 10 的偶数。

你也可以使用 length.out 指定所需的数字个数:

print(seq(1, 10, length.out = 4))

输出:

[1] 1 4 7 10

R 会自动计算间距,为你生成恰好 4 个间隔相等的数字。这两种方法都能在循环中顺利使用,让你轻松遍历自定义序列。

challenge icon

挑战

简单

从输入中读取 3 个数字:start、end 和 step。

使用 seq() 函数生成一个序列,从 start 开始,到 end 结束,步长为给定的 step。然后使用 for 循环遍历这个序列,并打印每个数字的平方。

使用 print() 将每个平方值单独打印在一行。

例如,如果输入是 2、10 和 2,输出应为:

[1] 4
[1] 16
[1] 36
[1] 64
[1] 100

这是因为生成的序列是 2、4、6、8、10,并且每个数字都会被平方。

亲手试试

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

# TODO:在下方编写你的代码
# 1. 使用 seq() 按给定步长生成从 start 到 end 的序列
# 2. 使用 for 循环遍历该序列
# 3. 使用 print() 输出每个数的平方
quiz icon自我测试

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

基础知识中的所有课

自己练习: R 在线编译器