Análisis de palabras
Parte de la sección Logic & Flow 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 en una cadena de texto.
Tu función debe:
- Contar palabras únicas (insensible a mayúsculas)
- Encontrar todas las palabras que aparecen más de una vez
- Identificar todas las palabras palíndromas (palabras que se leen igual de adelante hacia atrás, 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 palabras que aparecen más de una vezpalindromes: una lista ordenada de palabras palíndromas
Notas:
- Trata las palabras como insensibles a mayúsculas (por ejemplo, "Hello" y "hello" son la misma palabra)
- Elimina cualquier puntuación
(.,!?:;"())de las palabras - Ordena alfabéticamente tanto la lista
repeated_wordscomo la listapalindromes
Ejemplo de Entrada:
"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
# (convertir a minúsculas y eliminar la puntuación)
# 2. Cuenta las apariciones 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 palabras palíndromas
# 6. Devuelve los resultados en un diccionario con listas ordenadas
passTodas las lecciones de Logic & Flow
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 diccionarios