Подсчет уникальных слов
Часть раздела Логика и управление потоком путешествия по Dart на Coddy — урок 55 из 65.
Задание
ЛегкоПродолжая работу над проектом анализатора текста, вы теперь реализуете функциональность подсчета уникальных слов. Этот шаг позволит определить, сколько различных слов встречается в вашем тексте, используя Set для автоматического удаления дубликатов из списка слов.
- Используйте переменную
textToAnalyzeиз вашей предыдущей настройки - Используйте переменную
totalCharactersиз шага подсчета символов - Используйте переменную
wordListиз шага разделения слов - Используйте переменную
totalWordsиз шага подсчета слов - Преобразуйте список слов в Set, используя
Set.from(), чтобы автоматически удалить повторяющиеся слова - Сохраните полученный Set в переменной с именем
uniqueWordsSet - Подсчитайте количество уникальных слов, используя свойство
.lengthу Set - Сохраните количество уникальных слов в переменной с именем
uniqueWordCount - Отобразите результаты анализа уникальных слов в точном формате, показанном ниже
- Покажите исходный текст, количество символов, список слов, общее количество слов, набор уникальных слов и количество уникальных слов с правильным форматированием
Например, если ваш анализатор текста был настроен с "Hello world hello", ваша программа должна вывести:
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.Если ваш анализатор текста был настроен с "The cat and the dog", ваша программа должна вывести:
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: 4
====================================
Unique word analysis completed successfully.Если ваш анализатор текста был настроен с "apple banana apple cherry banana", ваша программа должна вывести:
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.Ваша программа должна использовать Set.from() для преобразования списка слов в Set, который автоматически удаляет дубликаты слов, сохраняя уникальные. Свойство .length у Set даст вам количество уникальных слов. Этот анализ поможет определить богатство словарного запаса текста и будет использоваться вместе с другими метриками в следующих уроках.
Попробуйте сами
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.');
}Все уроки раздела Логика и управление потоком
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Множества
Что такое множество?Создание множестваДобавление и удаление элементовПроверка наличия элементов в множествеПреобразование списка в множествоОбъединение множествПересечение множествРазность множествИтоги: уникальный список гостей