Contagem de Palavras Únicas
Parte da seção Lógica & Fluxo do Journey de Dart da Coddy — lição 55 de 65.
Desafio
FácilContinuando seu projeto de analisador de texto, agora você implementará a funcionalidade de contagem de palavras únicas. Esta etapa determinará quantas palavras distintas aparecem em seu texto usando um Set para remover automaticamente as duplicatas de sua lista de palavras.
- Use a variável
textToAnalyzeda sua configuração anterior - Use a variável
totalCharactersda sua etapa de contagem de caracteres - Use a variável
wordListda sua etapa de divisão de palavras - Use a variável
totalWordsda sua etapa de contagem de palavras - Converta a lista de palavras em um Set usando
Set.from()para remover automaticamente palavras duplicadas - Armazene o Set resultante em uma variável chamada
uniqueWordsSet - Conte o número de palavras únicas usando a propriedade
.lengthno Set - Armazene a contagem de palavras únicas em uma variável chamada
uniqueWordCount - Exiba os resultados da análise de palavras únicas no formato exato mostrado abaixo
- Mostre o texto original, a contagem de caracteres, a lista de palavras, o total de palavras, o conjunto de palavras únicas e a contagem de palavras únicas com a formatação adequada
Por exemplo, se o seu analisador de texto foi configurado com "Hello world hello", seu programa deve exibir:
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.Se o seu analisador de texto foi configurado com "The cat and the dog", seu programa deve exibir:
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.Se o seu analisador de texto foi configurado com "apple banana apple cherry banana", seu programa deve exibir:
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.Seu programa deve usar Set.from() para converter a lista de palavras em um Set, o que remove automaticamente as palavras duplicadas enquanto preserva as únicas. A propriedade .length no Set fornecerá a contagem de palavras únicas. Esta análise ajudará a identificar a riqueza de vocabulário do texto e será usada juntamente com outras métricas nas próximas lições.
Experimente você mesmo
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.');
}Todas as lições de Lógica & Fluxo
1Manipulação Avançada de Listas
Propriedades de Lista: first & lastEstado da Lista: isEmpty & isNotEmptyInvertendo uma ListaAdicionando a uma Lista: insertRemoção em Listas: removeWhereBuscando em uma Lista: indexOfOrdenando uma ListaEmbaralhando uma ListaRecapitulação - Organizador de Listas4Manipulação Avançada de Mapas
Iterando sobre um MapVerificando Chaves e ValoresPropriedades do Map: keys & valuesAdição Condicional: putIfAbsentRemovendo Entradas de um MapMaps AninhadosRecapitulação - Atualização de Inventário2Operações Funcionais em Listas
Transformando com 'map'Filtrando com 'where'Usando '.toList()'Verificando Condições com 'any'Condições com 'every'Encontrando com 'firstWhere'Recapitulação - Filtragem de Dados5Projeto: Cálculo de Carrinho de Compras
Configuração do ProjetoAdicionando Itens ao Carrinho8Projeto: Analisador de Texto Simples
Visão Geral e Configuração do ProjetoContagem de Caracteres3Conjuntos
O que é um Conjunto?Criando um ConjuntoAdicionando e Removendo de ConjuntosVerificando Elementos em um ConjuntoConvertendo uma Lista para um ConjuntoUnião de ConjuntosInterseção de ConjuntosDiferença de ConjuntosRecapitulação - Lista de Convidados Únicos