Menu
Coddy logo textTech

Farklılığı Ekleme

Coddy'nin Swift Journey'sinin Temeller bölümünün bir parçası. Ders 61 / 86.

challenge icon

Görev

Kolay

Önceki derste, sabit bölenler olarak 3 ve 5'i kullanarak FizzBuzz'ı 1'den belirli bir sınıra kadar çalıştıran bir döngü oluşturdun. Şimdi bölenleri özelleştirilebilir hâle getirerek değişikliği yap!

fizzBuzz işlevini, özel bölenler için iki ek parametre kabul edecek şekilde değiştir:

  • İşlev imzasını şu şekilde güncelle: fizzBuzz(_ number: Int, fizzAt: Int = 3, buzzAt: Int = 5) -> String
  • "Fizz" kontrolünde 3 yerine fizzAt kullan
  • "Buzz" kontrolünde 5 yerine buzzAt kullan
  • Varsayılan değerler, bölenler belirtilmediğinde klasik FizzBuzz'ın çalışmaya devam etmesini sağlar

Aşağıdaki girdileri alacaksın:

  1. Üst sınır (tamsayı)
  2. "Fizz" için ilk bölen (tamsayı)
  3. "Buzz" için ikinci bölen (tamsayı)

Döngünü, her sayı için bu özel bölenleri işleve aktaracak şekilde güncelle.

Örneğin girdiler 10, 2 ve 3 ise çıktı şöyle olmalıdır:

1
Fizz
Buzz
Fizz
5
FizzBuzz
7
Fizz
Buzz
Fizz

Bu örnekte, 2'nin katları için "Fizz", 3'ün katları için "Buzz" ve her ikisinin katları için (6 gibi) "FizzBuzz" yazdırılır.

Girdiler 15, 3 ve 5 (klasik bölenler) ise çıktı, özgün FizzBuzz ile eşleşmelidir:

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

Kendin dene

func fizzBuzz(_ number: Int) -> String {
    if number % 3 == 0 && number % 5 == 0 {
        return "FizzBuzz"
    } else if number % 3 == 0 {
        return "Fizz"
    } else if number % 5 == 0 {
        return "Buzz"
    } else {
        return String(number)
    }
}

// Read input
let limit = Int(readLine()!)!

// Loop from 1 to limit and print the result for each number
for number in 1...limit {
    print(fizzBuzz(number))
}

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

Kendi başına pratik yap: Swift playground