Menu
Coddy logo textTech

Análise de Palavras

Parte da seção Lógica e Fluxo do Journey de Python da Coddy. Lição 77 de 78.

challenge icon

Desafio

Difícil

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

Sua função deve:

  1. Contar palavras únicas (sem diferenciar maiúsculas de minúsculas)
  2. Encontrar todas as palavras que aparecem mais de uma vez
  3. Identificar todas as palavras palíndromas (palavras que podem ser lidas da mesma forma da 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

Observações:

  • Trate as palavras sem diferenciar maiúsculas de minúsculas (por exemplo, "Hello" e "hello" são a mesma palavra)
  • Remova qualquer pontuação (.,!?:;"()) das palavras
  • Ordene alfabeticamente as listas repeated_words e palindromes

Entrada de exemplo:

"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
    # (torne 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 Lógica e Fluxo

Pratique por conta própria: Compilador de Python online