'every' ile Koşullar
Coddy'nin Dart Journey'sinin Mantık & Akış bölümünün bir parçası. Ders 14 / 65.
any() en az bir öğenin bir koşulu karşılayıp karşılamadığını kontrol ederken, bazen bir listedeki tüm öğelerin belirli bir gereksinimi karşıladığını doğrulamanız gerekir. every() yöntemi, her bir öğeyi koşulunuza göre test ederek ve yalnızca hepsi başarılı olursa true döndürerek bu işlevi sağlar.
every() yöntemi, her öğe için true veya false döndüren bir test işlevi alır. Herhangi bir öğe testi geçemezse every() hemen false döndürür. Yalnızca tüm öğeler testi geçtiğinde true döndürür.
List<int> examScores = [75, 82, 68, 91, 77];
// Tüm öğrencilerin geçip geçmediğini kontrol et (score > 60)
bool allPassed = examScores.every((score) => score > 60);
print(allPassed); // trueBu yöntem, devam etmeden önce tüm öğelerin belirli ölçütleri karşıladığından emin olmanız gereken doğrulama senaryolarında özellikle kullanışlıdır. every() yöntemi, testi geçemeyen bir öğe bulur bulmaz kontrol etmeyi durdurur; bu da evrensel uyumluluğun gerektiği büyük listeler için verimli olmasını sağlar.
Görev
KolayBir partideki tüm ürünlerin gerekli standartları karşıladığını doğrulayarak kalite kontrol sistemini yöneten bir program oluştur. Programın şunları yapmalıdır:
- Fabrika adını temsil eden bir dize girdisi oku
- Ürün kalite puanlarını temsil eden birden fazla tam sayı girdisi oku (girdi,
-1aldığında sona erecektir) - Minimum kalite standardı eşiğini temsil eden bir tam sayı girdisi oku
- Tüm ürün puanlarının minimum eşik değerine eşit veya bu değerden büyük olup olmadığını kontrol etmek için
every()yöntemini kullan - Kalite kontrol sonuçlarını aşağıda gösterilen biçimin aynısıyla yazdır
Örneğin, fabrika adı "Electronics Factory", kalite puanları 85, 92, 78, 88, 95 ve minimum eşik 75 ise programın şu çıktıyı vermelidir:
Factory: Electronics Factory
Quality scores: [85, 92, 78, 88, 95]
Minimum standard: 75
Checking if all scores >= 75
All products passed: true
Status: Batch approved for shipmentFabrika adı "Textile Mill", kalite puanları 68, 82, 74, 91 ve minimum eşik 70 ise programın şu çıktıyı vermelidir:
Factory: Textile Mill
Quality scores: [68, 82, 74, 91]
Minimum standard: 70
Checking if all scores >= 70
All products passed: false
Status: Batch rejected - quality improvement requiredFabrika adı "Food Processing", kalite puanları 95, 98, 92 ve minimum eşik 90 ise programın şu çıktıyı vermelidir:
Factory: Food Processing
Quality scores: [95, 98, 92]
Minimum standard: 90
Checking if all scores >= 90
All products passed: true
Status: Batch approved for shipmentProgramın, tüm kalite puanlarının minimum eşik değerine eşit veya bu değerden büyük olduğunu doğrulamak için every() yöntemini kullanması gerekir. Tüm ürünler standardı karşılıyorsa "Batch approved for shipment", herhangi bir ürün minimum gerekliliği karşılamıyorsa "Batch rejected - quality improvement required" mesajını göster.
Kendin dene
import 'dart:io';
void main() {
// Fabrika adını oku
String? factoryName = stdin.readLineSync();
// -1 ile karşılaşılana kadar kalite puanlarını oku
List<int> qualityScores = [];
while (true) {
int score = int.parse(stdin.readLineSync()!);
if (score == -1) {
break;
}
qualityScores.add(score);
}
// Minimum eşiği oku
int minThreshold = int.parse(stdin.readLineSync()!);
// TODO: Kodunu aşağıya yaz
// Tüm puanların minimum standardı karşılayıp karşılamadığını kontrol etmek için every() metodunu kullan
// Sonuçları istenen biçimde yazdır
print('Factory: $factoryName');
print('Quality scores: $qualityScores');
print('Minimum standard: $minThreshold');
print('Checking if all scores >= $minThreshold');
// Tüm ürünlerin geçip geçmediğini ve son durumu yazdır
}Bu ders kısa bir quiz içerir. Soruları yanıtlamak ve ilerlemeni kaydetmek için derse başla.
Mantık & Akış bölümündeki tüm dersler
1İleri Düzey Liste İşlemleri
Liste Özellikleri: first & lastListe Durumu: isEmpty & isNotEmptyBir Listeyi Tersine ÇevirmeListeye Ekleme: insertListeden Silme: removeWhereListede Bulma: indexOfBir Listeyi SıralamaBir Listeyi KarıştırmaÖzet - Liste Düzenleyici4İleri Seviye Map İşlemleri
Map Üzerinde GezinmeAnahtar ve Değer KontrolüMap Özellikleri: keys & valuesKoşullu Ekleme: putIfAbsentMap'ten Öge Kaldırmaİç İçe Map'lerÖzet - Envanter Güncelleme7İleri Seviye Fonksiyonlar
Anonim FonksiyonlarFonksiyonları Argüman Olarak AktarmaClosure'ları AnlamakÖzyinelemeye GirişÖzyinelemeli Fonksiyon: Geri SayımÖzyinelemeli Fonksiyon: FaktöriyelÖzet - Liste İşleyici10Son Meydan Okumalar
Meydan Okuma: Not SıralayıcıMeydan Okuma: Sesli Harf SayacıMeydan Okuma: FizzBuzz2Fonksiyonel Liste İşlemleri
'map' ile Dönüştürme'where' ile Filtreleme'.toList()' Kullanımı'any' ile Koşul Kontrolü'every' ile Koşullar'firstWhere' ile BulmaÖzet - Veri Filtreleme5Proje: Alışveriş Sepeti Hesaplayıcı
Proje KurulumuSepete Ürün Ekleme3Kümeler
Küme Nedir?Küme OluşturmaKümelere Eleman Ekleme ve ÇıkarmaKüme İçinde Eleman KontrolüListeyi Kümeye DönüştürmeKüme BirleşimiKüme KesişimiKüme FarkıÖzet - Benzersiz Davetli ListesiKendi başına pratik yap: Online Dart derleyicisi