Вывод результатов анализа
Часть раздела Логика и управление потоком путешествия по Dart на Coddy — урок 57 из 65.
Задание
ЛегкоВ этом заключительном уроке проекта «Анализатор текста» вы создадите комплексное отображение всех результатов анализа, собранных на протяжении проекта. Этот шаг позволит отформатировать и представить всю статистику в виде четкого, профессионального резюме, демонстрирующего полный анализ текста.
- Используйте все переменные из предыдущих этапов проекта:
textToAnalyzeиз настройки проектаtotalCharactersиз этапа подсчета символовwordListиз этапа разделения словtotalWordsиз этапа подсчета словuniqueWordsSetиз этапа подсчета уникальных словuniqueWordCountиз этапа подсчета уникальных словwordFrequencyиз этапа подсчета частоты слов
- Создайте комплексный итоговый отчет, отображающий все результаты анализа
- Отформатируйте вывод так, чтобы показать полное резюме анализа текста
- Включите всю статистику с четкими метками и правильным форматированием
- Отобразите результаты в точном формате, показанном ниже
Например, если ваш анализатор текста был настроен с "hello world hello", ваша программа должна вывести:
=======================================
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.
=======================================Если ваш анализатор текста был настроен с "the cat and the dog and the bird", ваша программа должна вывести:
=======================================
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.
=======================================Если ваш анализатор текста был настроен с "apple banana apple cherry banana apple", ваша программа должна вывести:
=======================================
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.
=======================================Ваша программа должна определить самое часто встречающееся слово, найдя слово с наибольшим значением частоты в карте wordFrequency. Используйте интерполяцию строк для отображения всех собранных данных в профессиональном, удобном для чтения формате. Этот итоговый отчет объединяет всю работу по анализу, которую вы проделали на протяжении проекта, в одно комплексное резюме.
Попробуйте сами
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.');
}Все уроки раздела Логика и управление потоком
1Продвинутая работа со списками
Свойства списка: first и lastСостояние списка: isEmpty и isNotEmptyРазворот спискаДобавление в список: insertУдаление из списка: removeWhereПоиск в списке: indexOfСортировка спискаПеремешивание спискаИтоги — Органайзер списков4Продвинутая работа с Map
Итерация по MapПроверка ключей и значенийСвойства Map: keys и valuesУсловное добавление: putIfAbsentУдаление записей из MapВложенные MapИтоги — Обновление инвентаря2Функциональные операции со списками
Преобразование с помощью 'map'Фильтрация с помощью 'where'Использование '.toList()'Проверка условий с помощью 'any'Условия с 'every'Поиск с помощью 'firstWhere'Повторение — фильтрация данных5Проект: Калькулятор корзины
Настройка проектаДобавление товаров в корзину8Проект: Простой анализатор текста
Обзор проекта и настройкаПодсчет символов3Множества
Что такое множество?Создание множестваДобавление и удаление элементовПроверка наличия элементов в множествеПреобразование списка в множествоОбъединение множествПересечение множествРазность множествИтоги: уникальный список гостей