Menu
Coddy logo textTech

Dodawanie niespodzianki

Część sekcji Podstawy ścieżki Ruby w Coddy. Lekcja 57 z 88.

challenge icon

Wyzwanie

Łatwy

Na poprzedniej lekcji utworzysz program FizzBuzz, który przechodzi przez liczby, używając domyślnych dzielników 3 i 5. Teraz dodaj nowy element, umożliwiając dostosowywanie dzielników za pomocą parametrów domyślnych.

Zmodyfikuj swoją metodę fizzbuzz, aby przyjmowała trzy argumenty:

  • n – liczba do sprawdzenia (wymagana)
  • fizz_divisor – dzielnik dla „Fizz” (opcjonalny, domyślnie 3)
  • buzz_divisor – dzielnik dla „Buzz” (opcjonalny, domyślnie 5)

Metoda powinna używać tych niestandardowych dzielników zamiast zakodowanych na stałe wartości podczas sprawdzania podzielności.

Otrzymasz trzy wiersze danych wejściowych:

  1. Górny limit n
  2. Dzielnik dla fizz
  3. Dzielnik dla buzz

Wykonaj pętlę od 1 do n i wywołaj zaktualizowaną metodę fizzbuzz, przekazując jej wszystkie trzy argumenty. Wypisz każdy wynik.

Na przykład, jeśli dane wejściowe to:

10
2
3

Wynik powinien być następujący:

1
Fizz
Buzz
Fizz
5
FizzBuzz
7
Fizz
Buzz
Fizz

Jeśli dane wejściowe to:

15
3
5

Wynik powinien być następujący:

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

Spróbuj swoich sił

# 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

Wszystkie lekcje w sekcji Podstawy

Poćwicz samodzielnie: Kompilator Ruby online