Menu
Coddy logo textTech

Análisis de palabras

Parte de la sección Logic & Flow del Journey de Python de Coddy — lección 77 de 78.

challenge icon

Desafío

Difícil

Crea una función llamada analyze_text que analice las palabras en una cadena de texto.

Tu función debe:

  1. Contar palabras únicas (insensible a mayúsculas)
  2. Encontrar todas las palabras que aparecen más de una vez
  3. 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 vez
  • palindromes: 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_words como la lista palindromes

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
    pass

Todas las lecciones de Logic & Flow