Menu
Coddy logo textTech

Análisis de palabras

Parte de la sección Lógica y flujo 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 de una cadena de texto.

Tu función debe:

  1. Contar las palabras únicas (sin distinguir entre mayúsculas y minú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 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 vez
  • palindromes: 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_words y palindromes

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
    pass

Todas las lecciones de Lógica y flujo

Practica por tu cuenta: Compilador de Python online