序列生成(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 10R 会自动计算间距,为你生成恰好 4 个间隔相等的数字。这两种方法都能在循环中顺利使用,让你轻松遍历自定义序列。
挑战
简单从输入中读取 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() 输出每个数的平方这节课包含一个小测验。开始学习即可作答,并记录你的进度。
基础知识中的所有课
自己练习: R 在线编译器