Farklılığı Ekleme
Coddy'nin Swift Journey'sinin Temeller bölümünün bir parçası. Ders 61 / 86.
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
fizzAtkullan - "Buzz" kontrolünde 5 yerine
buzzAtkullan - Varsayılan değerler, bölenler belirtilmediğinde klasik FizzBuzz'ın çalışmaya devam etmesini sağlar
Aşağıdaki girdileri alacaksın:
- Üst sınır (tamsayı)
- "Fizz" için ilk bölen (tamsayı)
- "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
FizzBu ö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
FizzBuzzKendin 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
4Operatörler Bölüm 1
Aritmetik OperatörlerMod OperatörüBileşik AtamaTekrar - Basit MatematikKarşılaştırma Operatörleri7Temel Girdi/Çıktı
Print FonksiyonuDize EnterpolasyonuReadLine ile GirdiTür DönüşümüTekrar - 120'ye KadarTekrar - Doğru mu Yanlış mı10Fonksiyonlar
Fonksiyon TanımlamaParametreler ve ArgümanlarDönüş DeğerleriArgüman EtiketleriTekrar - Sigma FonksiyonuTekrar - Doğrulama FonksiyonuVarsayılan Değerler13Diziler Üzerinde Yineleme
Öğeler Üzerinde YinelemeEnumerate YöntemiDizeler Üzerinde Yineleme P1Dizeler Üzerinde Yineleme P22Değişkenler
Let ve VarTür AnotasyonlarıSayılarStringBooleanAdlandırma KurallarıTekrar - Değişkenleri Başlat5Operatörler Bölüm 2
Mantıksal Operatörler Bölüm 1Mantıksal Operatörler Bölüm 2Tekrar - Basit MantıkMantıksal Operatörler Bölüm 3Üçlü Operatör8Hesap Bölüştürme Hesaplayıcısı
Karşılama MesajıGirdi Alma11FizzBuzz'a Farklı Bir Yorum
Oyuna Genel BakışFizzBuzz Fonksiyonu3Optional Değerler
Optional Değerler NedirIf Let ile AçmaGuard LetNil Birleştirme OperatörüTekrar - Güvenli Açma9Döngüler
For-In DöngüsüWhile DöngüsüRepeat-While DöngüsüBreakContinueTekrar - FaktöriyelDöngülerde Aralıklarİç İçe DöngüTekrar - Dinamik GirdiKendi başına pratik yap: Swift playground