Menu
Coddy logo textTech

Farklılığı Ekleme

Coddy'nin R Journey'sinin Temeller bölümünün bir parçası. Ders 55 / 78.

challenge icon

Görev

Kolay

Önceki derste, varsayılan 3 ve 5 bölenlerini kullanarak sayılar arasında döngü oluşturan bir FizzBuzz programı yazdın. Şimdi, varsayılan parametreler aracılığıyla bölenleri özelleştirilebilir hâle getirerek farklılık ekle.

fizzbuzz işlevini üç bağımsız değişken kabul edecek şekilde değiştir:

  • n - kontrol edilecek sayı (gerekli)
  • fizz_divisor - "Fizz" için bölen (isteğe bağlı, varsayılan değeri 3)
  • buzz_divisor - "Buzz" için bölen (isteğe bağlı, varsayılan değeri 5)

İşlev, bölünebilirliği kontrol ederken sabit kodlanmış değerler yerine bu özel bölenleri kullanmalıdır.

Üç satır girdi alacaksın:

  1. Üst sınır n
  2. Fizz böleni
  3. Buzz böleni

1'den n'e kadar döngü oluştur ve güncellediğin fizzbuzz işlevini üç bağımsız değişkenin tamamıyla çağır. Her sonucu yazdır.

Örneğin, girdiler şunlarsa:

10
2
3

Çıktı şöyle olmalıdır:

[1] "1"
[1] "Fizz"
[1] "Buzz"
[1] "Fizz"
[1] "5"
[1] "FizzBuzz"
[1] "7"
[1] "Fizz"
[1] "Buzz"
[1] "Fizz"

Girdiler şunlarsa:

15
3
5

Çıktı şöyle olmalıdır:

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

Kendin dene

# Read input
con <- file("stdin", "r")
n <- 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))
  }
}

# Loop through numbers from 1 to n and print the result
for (i in 1:n) {
  print(fizzbuzz(i))
}

Temeller bölümündeki tüm dersler

Kendi başına pratik yap: Online R derleyicisi