Análisis de palabras
Parte de la sección Lógica y flujo del Journey de Python de Coddy. Lección 77 de 78.
Desafío
DifícilCrea una función llamada analyze_text que analice las palabras de una cadena de texto.
Tu función debe:
- Contar las palabras únicas (sin distinguir entre mayúsculas y minúsculas)
- Encontrar todas las palabras que aparecen más de una vez
- Identificar todas las palabras palíndromas (palabras que se leen igual de izquierda a derecha y de derecha a izquierda, como "level")
Devuelve un diccionario con tres claves:
unique_count: el número de palabras únicas (cuenta también las palabras repetidas una vez cada una)repeated_words: una lista ordenada de las palabras que aparecen más de una vezpalindromes: una lista ordenada de palabras palíndromas
Notas:
- Trata las palabras sin distinguir entre mayúsculas y minúsculas (por ejemplo, "Hello" y "hello" son la misma palabra)
- Elimina cualquier signo de puntuación
(.,!?:;"())de las palabras - Ordena alfabéticamente las listas
repeated_wordsypalindromes
Entrada de ejemplo:
"Madam saw a racecar. Dad said hello hello to mom."
Salida esperada:
{
'unique_count': 9,
'repeated_words': ['hello'],
'palindromes': ['a', 'dad', 'madam', 'mom', 'racecar']
}Pruébalo tú mismo
def analyze_text(text):
# Tu solución aquí
# 1. Divide el texto en palabras y normalízalas
# (conviértelo a minúsculas y elimina la puntuación)
# 2. Cuenta las ocurrencias de cada palabra
# 3. Encuentra el número de palabras únicas
# 4. Identifica las palabras repetidas (que aparecen más de una vez)
# 5. Encuentra las palabras palíndromas
# 6. Devuelve los resultados en un diccionario con listas ordenadas
passTodas las lecciones de Lógica y flujo
1Exploración de variables
ConstantesAsignación de múltiples variablesIntercambio de variablesVariables de marcador de posiciónRedondear númerosCasting de listas4Aplicación de Agenda de Contactos
Mostrar MenúAgregar Contacto7Conjuntos Parte 2
Operaciones matemáticas Parte 1Operaciones matemáticas Parte 2Resumen - Búsqueda del tesoroSubconjuntos y superconjuntosIterar sobre conjuntosResumen - Rastreador de torneos10Comprensión de listas básica
La sintaxisCreación de listas simplesAñadir condicionesUso de agregación de datosResumen - La casa de las listasResumen - Elementos de libertad13Sistema de Gestión de Inventarios
Descripción general del proyectoAgregar artículo2Diccionarios Parte 1
¿Qué es un diccionario?Crear un diccionarioAcceder a los valoresModificar diccionariosResumen - Gestor de recetas5Toma de decisiones avanzada
Operador ternarioComprobaciones de pertenenciaComprobaciones de identidadErrores de sangríaRepaso - Filtro de vacaciones8Gestor de registros de estudiantes
Descripción general del proyectoAñadir estudiante11Funciones avanzadas
Retornar múltiples valoresFunciones Lambda Parte 1Funciones Lambda Parte 2Desafío de repaso - Lambda SortFunciones recursivas Parte 1Funciones recursivas Parte 2Repaso - Sumar listas anidadas14Funciones de orden superior
La función MapLa función FilterRepaso - Validador de emailsRepaso - Procesador de números3Diccionarios Parte 2
Métodos de diccionariosDiccionarios anidadosVerificación de clavesIterar sobre diccionariosResumen - Contador de frecuencia6Conjuntos - Parte 1
¿Qué es un conjunto?Operaciones básicasMétodos de conjuntosResumen - Eliminar duplicados9Agregación de datos avanzada
Uso de SumBúsqueda de mínimo y máximoOrdenar datos de manera eficienteRepaso - Ordenador de diccionariosPractica por tu cuenta: Compilador de Python online