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