Menu
Coddy logo textTech

Aggiungere il colpo di scena

Fa parte della sezione Fondamenti del percorso Ruby di Coddy. Lezione 57 di 88.

challenge icon

Sfida

Facile

Nella lezione precedente, hai creato un programma FizzBuzz che scorre i numeri usando i divisori predefiniti 3 e 5. Ora aggiungi una variante rendendo i divisori personalizzabili tramite parametri predefiniti.

Modifica il tuo metodo fizzbuzz in modo che accetti tre argomenti:

  • n - il numero da verificare (obbligatorio)
  • fizz_divisor - il divisore per "Fizz" (facoltativo, predefinito a 3)
  • buzz_divisor - il divisore per "Buzz" (facoltativo, predefinito a 5)

Il metodo dovrebbe usare questi divisori personalizzati invece di valori codificati nel programma durante il controllo della divisibilità.

Riceverai tre righe di input:

  1. Il limite superiore n
  2. Il divisore fizz
  3. Il divisore buzz

Esegui un ciclo da 1 a n e chiama il metodo fizzbuzz aggiornato con tutti e tre gli argomenti. Stampa ogni risultato.

Per esempio, se gli input sono:

10
2
3

L'output dovrebbe essere:

1
Fizz
Buzz
Fizz
5
FizzBuzz
7
Fizz
Buzz
Fizz

Se gli input sono:

15
3
5

L'output dovrebbe essere:

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

Provalo tu

# 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

Tutte le lezioni di Fondamenti

Esercitati da solo: Compilatore Ruby online