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 3 ve 5 bölenlerini kullanarak 1'den belirli bir sınıra kadar FizzBuzz çalıştıran bir döngü oluşturdunuz. Şimdi, bölenleri özelleştirilebilir hale getirerek işi biraz daha ilginçleştirin!
fizzBuzz fonksiyonunuzu, özel bölenler için iki ek parametre kabul edecek şekilde değiştirin:
- Fonksiyon imzasını şu şekilde güncelleyin:
fizzBuzz(_ number: Int, fizzAt: Int = 3, buzzAt: Int = 5) -> String - "Fizz" kontrolü için 3 yerine
fizzAtkullanın - "Buzz" kontrolü için 5 yerine
buzzAtkullanın - Varsayılan değerler, bölenler belirtilmediğinde klasik FizzBuzz'ın hala çalışmasını sağlar
Şu girdileri alacaksınız:
- Üst sınır (tam sayı)
- "Fizz" için ilk bölen (tam sayı)
- "Buzz" için ikinci bölen (tam sayı)
Döngünüzü, her sayı için bu özel bölenleri fonksiyona iletecek şekilde güncelleyin.
Örneğin, girdiler 10, 2 ve 3 ise çıktı şu şekilde 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ı (6 gibi) için "FizzBuzz" yazdırılır.
Girdiler 15, 3 ve 5 (klasik bölenler) ise çıktı orijinal 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ül OperatörüBileşik AtamaÖzet - Basit MatematikKarşılaştırma Operatörleri7Temel Giriş/Çıkış
Print FonksiyonuString InterpolationReadLine GirişiTür DönüşümüÖzet - 120'ye KadarÖzet - Doğru veya Yanlış10Fonksiyonlar
Fonksiyon TanımlamaParametreler ve ArgümanlarDönüş DeğerleriArgüman EtiketleriÖzet - Sigma FonksiyonuÖzet - Doğrulama FonksiyonuVarsayılan Değerler13Diziler Üzerinde Yineleme
Elemanlar Üzerinde YinelemeEnumerate MetoduStringler Üzerinde Yineleme P1Stringler Üzerinde Yineleme P22Değişkenler
Let vs VarTip BelirteçleriSayılarStringBooleanİsimlendirme KurallarıÖzet - Değişkenleri Başlatma5Operatörler Bölüm 2
Mantıksal Operatörler Bölüm 1Mantıksal Operatörler Bölüm 2Özet - Basit MantıkMantıksal Operatörler Bölüm 3Ternary Operatör8Hesap Paylaşım Hesaplayıcısı
Hoş Geldiniz MesajıGirdi Alma14İleri Seviye Diziler
Dizi Dilimleme Bölüm 1Dizi Dilimleme Bölüm 2Sıralı Yapı OperatörleriContains Metodu3Opsiyoneller
Opsiyoneller NedirIf Let ile UnwrappingGuard LetNil Coalescing OperatörüÖzet - Güvenli Unwrapping6Karar Yapıları
If İfadesiIf - ElseÖzet - Basit Hesap MakinesiSwitch İfadesiAralıklı Switch Kullanımı9Döngüler
For-In DöngüsüWhile DöngüsüRepeat-While DöngüsüBreakContinueÖzet - FaktöriyelDöngülerde Aralıklarİç İçe DöngülerÖzet - Dinamik Girdi