Ne Almalı
Coddy'nin Swift Journey'sinin Temeller bölümünün bir parçası — ders 86 / 86.
Görev
KolayitemNames, itemPrices ve budget parametrelerini alan ve bütçe dahilinde satın alınabilecek ürün adlarından oluşan bir dizi döndüren whatToBuy fonksiyonunu yazın.
Öğeler arasında sırayla gezinin. Her bir öğe için, fiyatını mevcut toplama eklemenin bütçe dahilinde kalıp kalmayacağını kontrol edin. Eğer öyleyse, ürün adını alışveriş listenize ekleyin ve toplamı güncelleyin. Bir ürün bütçeyi aşarsa, onu atlayın ve kalan ürünleri kontrol etmeye devam edin.
Mantık:
0.0değerinde bir yürüyen toplam ve boş bir sonuç dizisi ile başlayın- Her bir öğeyi dizin (index) üzerinden döngüye alın
- Eğer yürüyen toplam ile mevcut öğenin fiyatının toplamı bütçeye eşit veya bütçeden küçükse, öğe adını sonuca ekleyin ve yürüyen toplamı güncelleyin
- Öğeyi eklemek bütçeyi aşacaksa, o öğeyi atlayın ve bir sonraki öğeye geçin
- Satın alınabilir ürün adlarından oluşan diziyi döndürün
Parametreler:
itemNames([String]): Ürün adlarından oluşan diziitemPrices([Double]): Karşılık gelen fiyatlardan oluşan dizi (itemNames ile aynı uzunlukta)budget(Double): Harcanabilecek maksimum tutar
Döndürdüğü Değer: Bütçe dahilinde karşılanabilen ürün adlarının, göründükleri sıradaki dizisi ([String])
Örnek:
// itemNames: ["Apple", "Bread", "Milk"]
// itemPrices: [2.0, 3.5, 4.0]
// budget: 6.0
// Result: ["Apple", "Bread"]
// (Apple costs 2.0, Bread costs 3.5, total is 5.5 which is within budget)
// (Milk would make total 9.5, which exceeds 6.0, so it's skipped)Kendin dene
func whatToBuy(itemNames: [String], itemPrices: [Double], budget: Double) -> [String] {
// Kodunuzu buraya yazın
}
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