Wyświetlanie analizy
Część sekcji Logika i przepływ sterowania ścieżki Dart w Coddy. Lekcja 57 z 65.
Wyzwanie
ŁatwyW tej ostatniej lekcji projektu Text Analyzer utworzysz kompleksowe zestawienie wszystkich wyników analizy zebranych w trakcie projektu. Ten krok pozwoli sformatować i przedstawić wszystkie statystyki w czytelnym, profesjonalnym podsumowaniu prezentującym pełną analizę tekstu.
- Użyj wszystkich zmiennych z poprzednich etapów projektu:
textToAnalyzez konfiguracji projektutotalCharactersz etapu zliczania znakówwordListz etapu dzielenia tekstu na słowatotalWordsz etapu zliczania słówuniqueWordsSetz etapu zliczania unikalnych słówuniqueWordCountz etapu zliczania unikalnych słówwordFrequencyz etapu zliczania częstotliwości występowania słów
- Utwórz kompleksowy raport końcowy, który wyświetli wszystkie wyniki analizy
- Sformatuj dane wyjściowe tak, aby przedstawiały pełne podsumowanie analizy tekstu
- Uwzględnij wszystkie statystyki, dodając czytelne etykiety i stosując odpowiednie formatowanie
- Wyświetl wyniki dokładnie w formacie pokazanym poniżej
Na przykład, jeśli Twój analizator tekstu został skonfigurowany dla tekstu "hello world hello", program powinien wyświetlić:
=======================================
TEXT ANALYSIS COMPLETE REPORT
=======================================
Original Text: "hello world hello"
=======================================
ANALYSIS SUMMARY:
- Total Characters: 17
- Total Words: 3
- Unique Words: 2
- Most Common Word: hello (appears 2 times)
=======================================
DETAILED BREAKDOWN:
Word List: [hello, world, hello]
Unique Words Set: {hello, world}
Word Frequency Map: {hello: 2, world: 1}
=======================================
Analysis completed successfully!
Text contains 2 unique words out of 3 total words.
=======================================Jeśli Twój analizator tekstu został skonfigurowany dla tekstu "the cat and the dog and the bird", program powinien wyświetlić:
=======================================
TEXT ANALYSIS COMPLETE REPORT
=======================================
Original Text: "the cat and the dog and the bird"
=======================================
ANALYSIS SUMMARY:
- Total Characters: 32
- Total Words: 8
- Unique Words: 5
- Most Common Word: the (appears 3 times)
=======================================
DETAILED BREAKDOWN:
Word List: [the, cat, and, the, dog, and, the, bird]
Unique Words Set: {the, cat, and, dog, bird}
Word Frequency Map: {the: 3, cat: 1, and: 2, dog: 1, bird: 1}
=======================================
Analysis completed successfully!
Text contains 5 unique words out of 8 total words.
=======================================Jeśli Twój analizator tekstu został skonfigurowany dla tekstu "apple banana apple cherry banana apple", program powinien wyświetlić:
=======================================
TEXT ANALYSIS COMPLETE REPORT
=======================================
Original Text: "apple banana apple cherry banana apple"
=======================================
ANALYSIS SUMMARY:
- Total Characters: 38
- Total Words: 6
- Unique Words: 3
- Most Common Word: apple (appears 3 times)
=======================================
DETAILED BREAKDOWN:
Word List: [apple, banana, apple, cherry, banana, apple]
Unique Words Set: {apple, banana, cherry}
Word Frequency Map: {apple: 3, banana: 2, cherry: 1}
=======================================
Analysis completed successfully!
Text contains 3 unique words out of 6 total words.
=======================================Twój program powinien określić najczęściej występujące słowo, znajdując słowo o najwyższej częstotliwości w mapie wordFrequency. Użyj interpolacji ciągów znaków, aby wyświetlić wszystkie zebrane dane w profesjonalnym, czytelnym formacie. To końcowe zestawienie łączy wszystkie wykonane w trakcie projektu prace analityczne w jedno kompleksowe podsumowanie.
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;
Set<String> uniqueWordsSet = wordList.toSet();
int uniqueWordCount = uniqueWordsSet.length;
Map<String, int> wordFrequency = {};
for (String word in wordList) {
if (wordFrequency.containsKey(word)) {
wordFrequency[word] = wordFrequency[word]! + 1;
} else {
wordFrequency[word] = 1;
}
}
print('Text Analysis Tool - Word Frequency');
print('====================================');
print('Analyzing text: "$textToAnalyze"');
print('Total characters: $totalCharacters');
print('Words found: $wordList');
print('Total words: $totalWords');
print('Unique words: $uniqueWordsSet');
print('Unique word count: $uniqueWordCount');
print('====================================');
print('Word Frequency Analysis Results:');
print('Word frequencies: $wordFrequency');
print('====================================');
print('Word frequency analysis 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