Ne Alınmalı
Coddy'nin Swift Journey'sinin Temeller bölümünün bir parçası. Ders 86 / 86.
Görev
KolayitemNames, itemPrices ve budget alan bir ve bütçe dahilinde satın alınabilecek ürün adlarından oluşan bir dizi döndüren whatToBuy işlevini yazın.
Ürünler arasında sırayla yineleyin. Her ürün için, fiyatını mevcut toplama eklemenin bütçe dahilinde kalıp kalmayacağını kontrol edin. Kalıyorsa ürün adını alışveriş listenize ekleyin ve toplamı güncelleyin. Bir ürün bütçeyi aşacaksa onu atlayın ve kalan ürünleri kontrol etmeye devam edin.
Mantık:
0.0değerinde bir mevcut toplam ve boş bir sonuç dizisiyle başlayın- Her üründe dizinini kullanarak döngüye girin
- Mevcut toplam ile geçerli ürünün fiyatının toplamı bütçeden küçük veya bütçeye eşitse ürün adını sonuca ekleyin ve mevcut toplamı güncelleyin
- Ürünü eklemek bütçeyi aşacaksa ürünü atlayın ve sonraki ürüne geçin
- Karşılanabilir ü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 miktar
Döndürülen: Bütçe dahilinde karşılanabilecek ve göründükleri sırayı koruyan ürün adlarından oluşan dizi ([String])
Örnek:
// itemNames: ["Apple", "Bread", "Milk"]
// itemPrices: [2.0, 3.5, 4.0]
// budget: 6.0
// Sonuç: ["Apple", "Bread"]
// (Apple'ın maliyeti 2.0, Bread'in maliyeti 3.5, toplam 5.5 olup bütçe dahilindedir)
// (Milk toplamı 9.5 yapardı, bu 6.0'ı aştığı için atlanır)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 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