Menu
Coddy logo textTech

Análise de Palavras

Parte da seção Logic & Flow do Journey de Python da Coddy — lição 77 de 78.

challenge icon

Desafio

Difícil

Crie uma função chamada analyze_text que analisa palavras em uma string de texto.

Sua função deve:

  1. Contar palavras únicas (insensível a maiúsculas e minúsculas)
  2. Encontrar todas as palavras que aparecem mais de uma vez
  3. Identificar todas as palavras palíndromas (palavras que são lidas da mesma forma de frente para trás e de trás para frente, como "level")

Retorne um dicionário com três chaves:

  • unique_count: o número de palavras únicas (conte também as palavras repetidas uma vez cada)
  • repeated_words: uma lista ordenada de palavras que aparecem mais de uma vez
  • palindromes: uma lista ordenada de palavras palíndromas

Notas:

  • Trate as palavras como insensíveis a maiúsculas e minúsculas (ex: "Hello" e "hello" são a mesma palavra)
  • Remova qualquer pontuação (.,!?:;"()) das palavras
  • Ordene as listas repeated_words e palindromes em ordem alfabética

Exemplo de Entrada:

"Madam saw a racecar. Dad said hello hello to mom."

Saída Esperada:

{
    'unique_count': 9,
    'repeated_words': ['hello'],
    'palindromes': ['a', 'dad', 'madam', 'mom', 'racecar']
}

Experimente você mesmo

def analyze_text(text):
    # Sua solução aqui
    
    # 1. Divida o texto em palavras e normalize-as
    # (converta para minúsculas e remova a pontuação)
    
    # 2. Conte as ocorrências de cada palavra
    
    # 3. Encontre o número de palavras únicas
    
    # 4. Identifique palavras repetidas (que aparecem mais de uma vez)
    
    # 5. Encontre palavras palíndromas
    
    # 6. Retorne os resultados em um dicionário com listas ordenadas
    pass

Todas as lições de Logic & Flow