Liczenie unikalnych słów
Część sekcji Logika i przepływ sterowania ścieżki Dart w Coddy. Lekcja 55 z 65.
Wyzwanie
ŁatwyKontynuując projekt analizatora tekstu, teraz zaimplementujesz funkcję zliczania unikalnych słów. Ten krok określi, ile różnych słów występuje w tekście, używając zbioru Set, który automatycznie usuwa duplikaty z listy słów.
- Użyj zmiennej
textToAnalyzez poprzedniej konfiguracji - Użyj zmiennej
totalCharactersz etapu zliczania znaków - Użyj zmiennej
wordListz etapu dzielenia tekstu na słowa - Użyj zmiennej
totalWordsz etapu zliczania słów - Przekształć listę słów w zbiór Set za pomocą
Set.from(), aby automatycznie usunąć powtarzające się słowa - Zapisz utworzony zbiór Set w zmiennej o nazwie
uniqueWordsSet - Policz unikalne słowa, używając właściwości
.lengthzbioru Set - Zapisz liczbę unikalnych słów w zmiennej o nazwie
uniqueWordCount - Wyświetl wyniki analizy unikalnych słów w dokładnym formacie przedstawionym poniżej
- Wyświetl tekst źródłowy, liczbę znaków, listę słów, łączną liczbę słów, zbiór unikalnych słów oraz liczbę unikalnych słów z odpowiednim formatowaniem
Na przykład, jeśli analizator tekstu został skonfigurowany z użyciem "Hello world hello", program powinien wyświetlić:
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.Jeśli analizator tekstu został skonfigurowany z użyciem "The cat and the dog", program powinien wyświetlić:
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.Jeśli analizator tekstu został skonfigurowany z użyciem "apple banana apple cherry banana", program powinien wyświetlić:
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.Twój program powinien używać Set.from(), aby przekształcić listę słów w zbiór Set, który automatycznie usuwa powtarzające się słowa, zachowując te unikalne. Właściwość .length zbioru Set zwróci liczbę unikalnych słów. Ta analiza pomoże określić bogactwo słownictwa tekstu i będzie używana wraz z innymi wskaźnikami w kolejnych lekcjach.
Spróbuj swoich sił
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.');
}Wszystkie lekcje w sekcji Logika i przepływ sterowania
1Zaawansowana manipulacja listami
Właściwości listy: first i lastStan listy: isEmpty i isNotEmpOdwracanie listyDodawanie do listy: insertUsuwanie z listy: removeWhereWyszukiwanie na liście: indexOfSortowanie listyMieszanie elementów listyPodsumowanie – Organizator listy4Zaawansowane operacje na mapach
Iterowanie po mapieSprawdzanie kluczy i wartościWłaściwości mapy: klucze i wartościDodawanie warunkowe: putIfAbsentUsuwanie wpisów z mapyZagnieżdżone mapyPodsumowanie – aktualizacja stanu magazynowego2Operacje funkcyjne na listach
Przekształcanie za pomocą 'map'Filtrowanie za pomocą 'where'Używanie '.toList()'Sprawdzanie warunków za pomocą 'any'Warunki z użyciem 'every'Wyszukiwanie za pomocą 'firstWhere'Podsumowanie — filtrowanie danych5Projekt: Kalkulator koszyka zakupowego
Konfiguracja projektuDodawanie produktów do koszyka8Projekt: Prosty analizator tekstu
Omówienie projektu i konfiguracjaLiczenie znaków3Zbiory
Czym jest zbiór?Tworzenie zbioruDodawanie i usuwanie elementów ze zbiorówSprawdzanie, czy element znajduje się w zbiorzeKonwersja listy na zbiórSuma zbiorówCzęść wspólna zbiorówRóżnica zbiorówPodsumowanie — unikalna lista gościPoćwicz samodzielnie: Kompilator Dart online