Вывод результатов анализа
Часть раздела Логика и управление потоком путешествия по 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: 33
- 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Множества
Что такое множество?Создание множестваДобавление и удаление элементовПроверка наличия элементов в множествеПреобразование списка в множествоОбъединение множествПересечение множествРазность множествИтоги: уникальный список гостей