Mostrar el análisis
Parte de la sección Lógica y Flujo del Journey de Dart de Coddy — lección 57 de 65.
Desafío
FácilEn esta lección final del proyecto Analizador de Texto, crearás una visualización completa de todos los resultados del análisis que has recopilado a lo largo del proyecto. Este paso dará formato y presentará todas las estadísticas en un resumen claro y profesional que muestre el análisis de texto completo.
- Utiliza todas las variables de los pasos anteriores de tu proyecto:
textToAnalyzede la configuración de tu proyectototalCharactersde tu paso de conteo de caractereswordListde tu paso de división de palabrastotalWordsde tu paso de conteo de palabrasuniqueWordsSetde tu paso de conteo de palabras únicasuniqueWordCountde tu paso de conteo de palabras únicaswordFrequencyde tu paso de contador de frecuencia de palabras
- Crea un informe final exhaustivo que muestre todos los resultados del análisis
- Da formato a la salida para mostrar un resumen completo del análisis de texto
- Incluye todas las estadísticas con etiquetas claras y un formato adecuado
- Muestra los resultados en el formato exacto que se muestra a continuación
Por ejemplo, si tu analizador de texto se configuró con "hello world hello", tu programa debería mostrar:
=======================================
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.
=======================================Si tu analizador de texto se configuró con "the cat and the dog and the bird", tu programa debería mostrar:
=======================================
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.
=======================================Si tu analizador de texto se configuró con "apple banana apple cherry banana apple", tu programa debería mostrar:
=======================================
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.
=======================================Tu programa debe determinar la palabra más común encontrando la palabra con el recuento de frecuencia más alto en el mapa wordFrequency. Utiliza la interpolación de cadenas para mostrar todos los datos recopilados en un formato profesional y fácil de leer. Esta visualización final reúne todo el trabajo de análisis que has completado a lo largo del proyecto en un resumen exhaustivo.
Pruébalo tú mismo
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.');
}Todas las lecciones de Lógica y Flujo
1Manipulación avanzada de listas
Propiedades de listas: first y lastEstado de la lista: isEmpty y isNotEmptyInvertir una listaAñadir a una lista: insertEliminación en listas: removeWhereBúsqueda en una lista: indexOfOrdenar una listaMezclar una listaResumen - Organizador de listas4Manipulación avanzada de mapas
Iterar sobre un mapaComprobación de claves y valoresPropiedades del mapa: keys y valuesAdición condicional: putIfAbsentEliminar entradas de un mapaMapas anidadosResumen - Actualización de inventario2Operaciones funcionales con listas
Transformar con 'map'Filtrar con 'where'Uso de '.toList()'Comprobar condiciones con 'any'Condiciones con 'every'Búsqueda con 'firstWhere'Resumen - Filtrado de datos5Proyecto: Calculadora de carrito de compras
Configuración del proyectoAgregar artículos al carrito8Proyecto: Analizador de texto simple
Descripción general y configuración del proyectoContar caracteres3Conjuntos
¿Qué es un Conjunto?Crear un ConjuntoAñadir y eliminar elementos de un ConjuntoComprobar elementos en un ConjuntoConvertir una lista en un ConjuntoUnión de ConjuntosIntersección de ConjuntosDiferencia de ConjuntosResumen - Lista de invitados única