Menu
CoddyTech

遍历数字

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

challenge icon

挑战

简单

在上一课中,你创建了处理单个数字的 fizzbuzz 函数。现在,添加一个循环,处理从 1 到给定上限的数字范围。

修改代码以完成以下操作:

  1. 从输入中读取数字 n(它将作为上限)
  2. 使用 for 循环从 1 遍历到 n
  3. 对于范围内的每个数字,调用你的 fizzbuzz 函数并打印结果

每个结果都应使用 print() 打印在新的一行上。

例如,如果输入是:

5

输出应为:

[1] "1"
[1] "2"
[1] "Fizz"
[1] "4"
[1] "Buzz"

如果输入是:

15

输出应为:

[1] "1"
[1] "2"
[1] "Fizz"
[1] "4"
[1] "Buzz"
[1] "Fizz"
[1] "7"
[1] "8"
[1] "Fizz"
[1] "Buzz"
[1] "11"
[1] "Fizz"
[1] "13"
[1] "14"
[1] "FizzBuzz"

亲手试试

# Read input
con <- file("stdin", "r")
number <- as.numeric(suppressWarnings(readLines(con, n = 1)))

# Function from previous lesson
check_divisible <- function(number, divisor) {
  return(number %% divisor == 0)
}

# Create the fizzbuzz function
fizzbuzz <- function(n) {
  if (check_divisible(n, 3) && check_divisible(n, 5)) {
    return("FizzBuzz")
  } else if (check_divisible(n, 3)) {
    return("Fizz")
  } else if (check_divisible(n, 5)) {
    return("Buzz")
  } else {
    return(as.character(n))
  }
}

# Call the fizzbuzz function and print the result
print(fizzbuzz(number))

基础知识中的所有课

自己练习: R 在线编译器