Dodawanie niespodzianki
Część sekcji Podstawy ścieżki Ruby w Coddy. Lekcja 57 z 88.
Wyzwanie
ŁatwyNa 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ślnie3)buzz_divisor– dzielnik dla „Buzz” (opcjonalny, domyślnie5)
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:
- Górny limit
n - Dzielnik dla fizz
- 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
3Wynik powinien być następujący:
1
Fizz
Buzz
Fizz
5
FizzBuzz
7
Fizz
Buzz
FizzJeśli dane wejściowe to:
15
3
5Wynik powinien być następujący:
1
2
Fizz
4
Buzz
Fizz
7
8
Fizz
Buzz
11
Fizz
13
14
FizzBuzzSpró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)
endWszystkie lekcje w sekcji Podstawy
4Operatory — część 2
Operatory logiczne — część 1Operatory logiczne — część 2Powtórka — podstawy logikiOperatory logiczne — część 3Operatory logiczne — część 47Kalkulator podziału rachunku
Wiadomość powitalnaPobieranie danych od użytkownika2Zmienne i typy danych
Liczby i zmienneTyp danych StringTyp danych BooleanTyp danych SymbolSprawdzanie typów danychKonwencje nazewnictwaPodsumowanie — tworzenie zmiennych5Podejmowanie decyzji
Instrukcja ifIf - elsePowtórka — prosty kalkulatorZagnieżdżone if - elseInstrukcja unless8Pętle
Pętla for z zakresamiPętla whilebreaknextPowtórka – silniaPętla timesPętla untilPętle zagnieżdżonePowtórka – dynamiczne wejście3Operatory — część 1
Operatory arytmetyczneOperator moduloSkrócone operatory arytmetycznePodsumowanie — prosta matematykaOperatory porównania6Podstawowe wejście i wyjście
Wyświetlanie za pomocą putsWyświetlanie za pomocą print i pWyświetlanie zmiennychWczytywanie za pomocą getsMetoda chompKonwersja typówPodsumowanie – kalkulator wiekuPodsumowanie – prawda czy fałszPoćwicz samodzielnie: Kompilator Ruby online