Menu
Coddy logo textTech

Przechodzenie przez liczby w pętli

Część sekcji Podstawy ścieżki R w Coddy. Lekcja 54 z 78.

challenge icon

Wyzwanie

Łatwy

W poprzedniej lekcji utworzyłeś funkcję fizzbuzz, która obsługuje pojedynczą liczbę. Teraz dodaj pętlę, aby przetwarzać zakres liczb od 1 do podanego limitu.

Zmodyfikuj swój kod, aby:

  1. Odczytać z wejścia liczbę n (będzie to górny limit)
  2. Użyć pętli for, aby iterować od 1 do n
  3. Dla każdej liczby z zakresu wywołać funkcję fizzbuzz i wypisać wynik

Każdy wynik powinien zostać wypisany w nowej linii za pomocą print().

Na przykład, jeśli wejściem jest:

5

Wynikiem powinno być:

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

Jeśli wejściem jest:

15

Wynikiem powinno być:

[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"

Spróbuj swoich sił

# 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))

Wszystkie lekcje w sekcji Podstawy

Poćwicz samodzielnie: Kompilator R online