Menu
CoddyTech

加入新变化

本课属于 Coddy Ruby 学习旅程的“基础知识”单元。第 57 课,共 88 课。

challenge icon

挑战

简单

在上一课中,你创建了一个 FizzBuzz 程序,使用默认除数 3 和 5 遍历数字。现在,通过默认参数让除数可以自定义,为程序增添一点变化。

修改你的 fizzbuzz 方法,使其接受三个参数:

  • n - 要检查的数字(必需)
  • fizz_divisor - 用于判断是否输出 "Fizz" 的除数(可选,默认值为 3)
  • buzz_divisor - 用于判断是否输出 "Buzz" 的除数(可选,默认值为 5)

检查能否整除时,方法应使用这些自定义除数,而不是硬编码的值。

你会收到三行输入:

  1. 上限 n
  2. Fizz 除数
  3. Buzz 除数

从 1 遍历到 n,并使用全部三个参数调用更新后的 fizzbuzz 方法。打印每个结果。

例如,如果输入是:

10
2
3

输出应为:

1
Fizz
Buzz
Fizz
5
FizzBuzz
7
Fizz
Buzz
Fizz

如果输入是:

15
3
5

输出应为:

1
2
Fizz
4
Buzz
Fizz
7
8
Fizz
Buzz
11
Fizz
13
14
FizzBuzz

亲手试试

# Read input
n = gets.chomp.to_i

# Method from previous lesson
def check_divisible(number, divisor)
  return number % divisor == 0
end

# Create the fizzbuzz method
def fizzbuzz(n)
  if check_divisible(n, 3) && check_divisible(n, 5)
    return "FizzBuzz"
  elsif check_divisible(n, 3)
    return "Fizz"
  elsif check_divisible(n, 5)
    return "Buzz"
  else
    return n.to_s
  end
end

# Loop through numbers from 1 to n and print the result
(1..n).each do |i|
  puts fizzbuzz(i)
end

基础知识中的所有课

自己练习: Ruby 在线编译器