Bedingungen mit 'every'
Teil des Abschnitts Logik & Ablauf der Dart-Journey von Coddy. Lektion 14 von 65.
Während any() prüft, ob mindestens ein Element eine Bedingung erfüllt, müssen Sie manchmal überprüfen, ob alle Elemente in einer Liste eine bestimmte Anforderung erfüllen. Die every()-Methode bietet diese Funktionalität, indem sie jedes einzelne Element gegen Ihre Bedingung prüft und true nur dann zurückgibt, wenn alle bestehen.
Die Methode every() nimmt eine Testfunktion entgegen, die für jedes Element true oder false zurückgibt. Wenn ein Element den Test nicht besteht, gibt every() sofort false zurück. Nur wenn jedes Element den Test besteht, gibt sie true zurück.
List<int> examScores = [75, 82, 68, 91, 77];
// Überprüfen, ob alle Schüler bestanden haben (Punktzahl > 60)
bool allPassed = examScores.every((score) => score > 60);
print(allPassed); // trueDiese Methode ist besonders nützlich für Validierungsszenarien, in denen Sie sicherstellen müssen, dass alle Elemente bestimmte Kriterien erfüllen, bevor Sie fortfahren. Die every()-Methode bricht die Prüfung ab, sobald sie ein Element findet, das den Test nicht besteht, was sie für große Listen effizient macht, bei denen Sie eine universelle Übereinstimmung benötigen.
Aufgabe
EinfachErstelle ein Programm, das ein Qualitätskontrollsystem verwaltet, indem es überprüft, ob alle Produkte in einer Charge die erforderlichen Standards erfüllen. Dein Programm sollte:
- Eine Zeichenfolgeneingabe lesen, die den Namen der Fabrik darstellt
- Mehrere Ganzzahleingaben lesen, die Produktqualitätswerte darstellen (die Eingabe endet, wenn du
-1erhältst) - Eine Ganzzahleingabe lesen, die den Mindestschwellenwert für die Qualitätsstandards darstellt
- Die Methode
every()verwenden, um zu überprüfen, ob alle Produktqualitätswerte größer oder gleich dem Mindestschwellenwert sind - Die Ergebnisse der Qualitätskontrolle exakt im unten gezeigten Format ausgeben
Wenn der Fabrikname beispielsweise "Electronics Factory" lautet, die Qualitätswerte 85, 92, 78, 88, 95 sind und der Mindestschwellenwert 75 beträgt, sollte dein Programm Folgendes ausgeben:
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 shipmentWenn der Fabrikname "Textile Mill" lautet, die Qualitätswerte 68, 82, 74, 91 sind und der Mindestschwellenwert 70 beträgt, sollte dein Programm Folgendes ausgeben:
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 requiredWenn der Fabrikname "Food Processing" lautet, die Qualitätswerte 95, 98, 92 sind und der Mindestschwellenwert 90 beträgt, sollte dein Programm Folgendes ausgeben:
Factory: Food Processing
Quality scores: [95, 98, 92]
Minimum standard: 90
Checking if all scores >= 90
All products passed: true
Status: Batch approved for shipmentDein Programm muss die Methode every() verwenden, um zu überprüfen, ob alle Qualitätswerte größer oder gleich dem Mindestschwellenwert sind. Gib „Charge zur Lieferung freigegeben“ aus, wenn alle Produkte den Standard erfüllen, oder „Charge abgelehnt – Qualitätsverbesserung erforderlich“, wenn ein Produkt die Mindestanforderung nicht erfüllt.
Probier es selbst
import 'dart:io';
void main() {
// Fabrikname lesen
String? factoryName = stdin.readLineSync();
// Qualitätsbewertungen lesen, bis -1 eingegeben wird
List<int> qualityScores = [];
while (true) {
int score = int.parse(stdin.readLineSync()!);
if (score == -1) {
break;
}
qualityScores.add(score);
}
// Mindestschwellenwert lesen
int minThreshold = int.parse(stdin.readLineSync()!);
// TODO: Schreiben Sie Ihren Code unten
// Verwenden Sie die every()-Methode, um zu prüfen, ob alle Bewertungen den Mindeststandard erfüllen
// Ergebnisse im erforderlichen Format ausgeben
print('Factory: $factoryName');
print('Quality scores: $qualityScores');
print('Minimum standard: $minThreshold');
print('Checking if all scores >= $minThreshold');
// Ausgeben, ob alle Produkte bestanden haben und den endgültigen Status anzeigen
}Diese Lektion enthält ein kurzes Quiz. Starte die Lektion, um es zu beantworten und deinen Fortschritt zu speichern.
Alle Lektionen in Logik & Ablauf
1Fortgeschrittene Listenmanipulation
Listen-Eigenschaften: first & lastListen-Status: isEmpty & isNotEmptyEine Liste umkehrenHinzufügen zu einer Liste: insertElemente aus Liste entfernen: removeWhereSuchen in einer Liste: indexOfEine Liste sortierenEine Liste mischenZusammenfassung – Listen-Organizer4Fortgeschrittene Map-Manipulation
Über eine Map iterierenPrüfen auf Schlüssel und WerteMap-Eigenschaften: keys & valuesBedingtes Hinzufügen: putIfAbsentEinträge aus einer Map entfernenVerschachtelte MapsRückblick – Inventar-Update7Fortgeschrittene Funktionen
Anonyme FunktionenFunktionen als Argumente übergebenClosures verstehenEinführung in die RekursionRekursive Funktion: CountdownRekursive Funktion: FakultätZusammenfassung – List Processor10Abschluss-Herausforderungen
Herausforderung: NotensortiererHerausforderung: VokalzählerHerausforderung: FizzBuzz2Funktionale Listenoperationen
Transformieren mit 'map'Filtern mit 'where''.toList()' verwendenBedingungen prüfen mit 'any'Bedingungen mit 'every'Suchen mit 'firstWhere'Zusammenfassung – Datenfilterung3Sets
Was ist ein Set?Ein Set erstellenHinzufügen und Entfernen in SetsPrüfen auf Elemente in einem SetEine Liste in ein Set umwandelnSet-VereinigungSet-SchnittmengeSet-DifferenzRückblick – Einzigartige GästelisteÜbe selbstständig: Online-Dart-Compiler