Farklılığı Ekleme
Coddy'nin R Journey'sinin Temeller bölümünün bir parçası. Ders 55 / 78.
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ğeri3)buzz_divisor- "Buzz" için bölen (isteğe bağlı, varsayılan değeri5)
İşlev, bölünebilirliği kontrol ederken sabit kodlanmış değerler yerine bu özel bölenleri kullanmalıdır.
Üç satır girdi alacaksın:
- Üst sınır
n - Fizz böleni
- 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
4Operatörler Bölüm 2
Mantıksal Operatörler (AND, OR)Mantıksal Operatörler Bölüm 2 (NOT)Özet - Basit MantıkVektörize Mantık Bölüm 1Vektörize Mantık Bölüm 27Hesap Paylaşım Hesaplayıcısı
Hoş Geldiniz MesajıKullanıcıdan Girdi Alma10Farklı Bir FizzBuzz
Oyuna Genel BakışFizzBuzz Fonksiyonu2Değişkenler ve Veri Tipleri
Sayısal Veri TipiTam Sayı Veri TipiKarakter Veri TipiMantıksal Veri TipiVeri Tiplerini Kontrol Etmeİsimlendirme KurallarıEksik Değerler: NAÖzet - Değişken Oluşturma8Döngüler
For DöngüsüWhile DöngüsüBreakNext (Continue)Özet - FaktöriyelDizi Oluşturma (seq, :)İç İçe DöngülerÖzet - Dinamik Girdi3Operatörler 1. Bölüm
Aritmetik OperatörlerTam Sayı Bölmesi ve Mod AlmaAtama OperatörleriÖzet - Basit MatematikKarşılaştırma Operatörleri6Temel Giriş-Çıkış
Print ÇıktısıÇıktı için Cat KullanımıDeğişkenlerle Çıktı Almakreadline() ile Girdi OkumaTip Dönüşümü TemelleriÖzet - Yaş HesaplayıcıÖzet - Doğru mu Yanlış mı9Fonksiyonlar
Fonksiyon TanımlamaFonksiyon ArgümanlarıDönüş DeğerleriÖzet - Sigma FonksiyonuÖzet - Doğrulama FonksiyonuVarsayılan Parametre DeğerleriKendi başına pratik yap: Online R derleyicisi