Eindeutige Wörter zählen
Teil des Abschnitts Logik & Ablauf der Dart-Journey von Coddy. Lektion 55 von 65.
Aufgabe
EinfachIn der Fortsetzung deines Textanalyseprojekts implementierst du nun die Funktion zum Zählen eindeutiger Wörter. Dieser Schritt bestimmt mithilfe einer Set, wie viele verschiedene Wörter in deinem Text vorkommen, indem doppelte Einträge automatisch aus deiner Wortliste entfernt werden.
- Verwende die Variable
textToAnalyzeaus deiner vorherigen Einrichtung - Verwende die Variable
totalCharactersaus deinem Schritt zum Zählen der Zeichen - Verwende die Variable
wordListaus deinem Schritt zum Aufteilen der Wörter - Verwende die Variable
totalWordsaus deinem Schritt zum Zählen der Wörter - Konvertiere die Wortliste mithilfe von
Set.from()in eine Set, um doppelte Wörter automatisch zu entfernen - Speichere die resultierende Set in einer Variable namens
uniqueWordsSet - Zähle die Anzahl der eindeutigen Wörter, indem du die Eigenschaft
.lengthder Set verwendest - Speichere die Anzahl der eindeutigen Wörter in einer Variable namens
uniqueWordCount - Gib die Ergebnisse der Analyse eindeutiger Wörter genau im unten gezeigten Format aus
- Zeige den ursprünglichen Text, die Zeichenanzahl, die Wortliste, die Gesamtanzahl der Wörter, die Set der eindeutigen Wörter und die Anzahl der eindeutigen Wörter mit der passenden Formatierung an
Wenn dein Textanalysator beispielsweise mit "Hello world hello" eingerichtet wurde, sollte dein Programm Folgendes ausgeben:
Text Analysis Tool - Unique Words
====================================
Analyzing text: "Hello world hello"
Total characters: 17
Words found: [Hello, world, hello]
Total words: 3
====================================
Unique Word Analysis Results:
Unique words: {Hello, world, hello}
Unique word count: 3
====================================
Unique word analysis completed successfully.Wenn dein Textanalysator mit "The cat and the dog" eingerichtet wurde, sollte dein Programm Folgendes ausgeben:
Text Analysis Tool - Unique Words
====================================
Analyzing text: "The cat and the dog"
Total characters: 19
Words found: [The, cat, and, the, dog]
Total words: 5
====================================
Unique Word Analysis Results:
Unique words: {The, cat, and, the, dog}
Unique word count: 5
====================================
Unique word analysis completed successfully.Wenn dein Textanalysator mit "apple banana apple cherry banana" eingerichtet wurde, sollte dein Programm Folgendes ausgeben:
Text Analysis Tool - Unique Words
====================================
Analyzing text: "apple banana apple cherry banana"
Total characters: 33
Words found: [apple, banana, apple, cherry, banana]
Total words: 5
====================================
Unique Word Analysis Results:
Unique words: {apple, banana, cherry}
Unique word count: 3
====================================
Unique word analysis completed successfully.Dein Programm sollte Set.from() verwenden, um die Wortliste in eine Set zu konvertieren. Dabei werden doppelte Wörter automatisch entfernt, während die eindeutigen Wörter erhalten bleiben. Die Eigenschaft .length der Set liefert dir die Anzahl der eindeutigen Wörter. Diese Analyse hilft dabei, den Vokabelreichtum des Textes zu ermitteln, und wird in den kommenden Lektionen zusammen mit anderen Metriken verwendet.
Probier es selbst
import 'dart:io';
void main() {
String? textToAnalyze = stdin.readLineSync();
int totalCharacters = textToAnalyze!.length;
List<String> wordList = textToAnalyze.split(' ');
int totalWords = wordList.length;
print('Text Analysis Tool - Word Count');
print('====================================');
print('Analyzing text: "$textToAnalyze"');
print('Total characters: $totalCharacters');
print('Words found: $wordList');
print('====================================');
print('Word Count Results:');
print('Total words: $totalWords');
print('====================================');
print('Word counting completed successfully.');
}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 – Datenfilterung5Projekt: Warenkorb-Rechner
Projekt-SetupArtikel zum Warenkorb hinzufügen8Projekt: Einfacher Text-Analyzer
Projektübersicht und SetupZeichen zählen3Sets
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