'every' ile Koşullar
Coddy'nin Dart Journey'sinin Mantık & Akış bölümünün bir parçası — ders 14 / 65.
any() bir koşulu en az bir öğenin 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 geçerse true döndürerek bu işlevselliği sağlar.
every() yöntemi, her öğe için true veya false döndüren bir test fonksiyonu alır. Eğer herhangi bir öğe testi geçemezse, every() anında false döndürür. Sadece 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 (puan > 60)
bool allPassed = examScores.every((score) => score > 60);
print(allPassed); // trueBu yöntem, devam etmeden önce tüm öğelerin belirli kriterleri karşıladığından emin olmanız gereken doğrulama senaryoları için özellikle yararlıdır. every() yöntemi, testi geçemeyen bir öğe bulur bulmaz kontrol etmeyi durdurur; bu da evrensel uyumluluğa ihtiyaç duyduğunuz büyük listeler için onu verimli kılar.
Görev
KolayBir partideki tüm ürünlerin gerekli standartları karşıladığını doğrulayarak bir kalite kontrol sistemini yöneten bir program oluşturun. Programınız şunları yapmalıdır:
- Fabrika adını temsil eden bir dize (string) girdisi okuyun
- Ürün kalite puanlarını temsil eden birden fazla tam sayı (integer) girdisi okuyun (girdi
-1aldığınızda sona erecektir) - Minimum kalite standardı eşiğini temsil eden bir tam sayı girdisi okuyun
- Tüm ürün puanlarının minimum eşiğe eşit veya ondan büyük olup olmadığını kontrol etmek için
every()metodunu kullanın - Kalite kontrol sonuçlarını aşağıda gösterilen tam formatta yazdırın
Örneğin, fabrika adı "Electronics Factory", kalite puanları 85, 92, 78, 88, 95 ve minimum eşik 75 ise, programınızın çıktısı şöyle olmalıdır:
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 shipmentEğer fabrika adı "Textile Mill", kalite puanları 68, 82, 74, 91 ve minimum eşik 70 ise, programınızın çıktısı şöyle olmalıdır:
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 requiredEğer fabrika adı "Food Processing", kalite puanları 95, 98, 92 ve minimum eşik 90 ise, programınızın çıktısı şöyle olmalıdır:
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ız, tüm kalite puanlarının minimum eşiğe eşit veya ondan büyük olduğunu doğrulamak için every() metodunu kullanmalıdır. Tüm ürünler standardı karşılıyorsa "Batch approved for shipment", herhangi bir ürün minimum gereksinimi karşılamıyorsa "Batch rejected - quality improvement required" mesajını görüntüleyin.
Kopya kağıdı
every() yöntemi, bir listedeki tüm öğelerin belirli bir koşulu karşılayıp karşılamadığını kontrol eder. Sadece her öğe testi geçerse true, herhangi bir öğe başarısız olursa false döndürür.
List<int> examScores = [75, 82, 68, 91, 77];
// Tüm öğrencilerin geçip geçmediğini kontrol et (puan > 60)
bool allPassed = examScores.every((score) => score > 60);
print(allPassed); // trueevery() yöntemi, testi geçemeyen bir öğe bulur bulmaz kontrol etmeyi durdurur; bu da evrensel uyumluluğa ihtiyaç duyduğunuz büyük listeler için onu verimli kılar.
Kendin dene
import 'dart:io';
void main() {
// Fabrika adını oku
String? factoryName = stdin.readLineSync();
// -1 ile karşılaşana 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şik değerini oku
int minThreshold = int.parse(stdin.readLineSync()!);
// TODO: Kodunuzu aşağıya yazın
// Tüm puanların minimum standardı karşılayıp karşılamadığını kontrol etmek için every() metodunu kullanın
// Sonuçları gerekli formatta yazdırın
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 nihai durumu yazdırın
}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 Listesi