Análise de Palavras
Parte da seção Logic & Flow do Journey de Python da Coddy — lição 77 de 78.
Desafio
DifícilCrie uma função chamada analyze_text que analisa palavras em uma string de texto.
Sua função deve:
- Contar palavras únicas (insensível a maiúsculas e minúsculas)
- Encontrar todas as palavras que aparecem mais de uma vez
- 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 vezpalindromes: 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_wordsepalindromesem 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
passTodas as lições de Logic & Flow
1Exploração de Variáveis
ConstantesAtribuição de Múltiplas VariáveisTroca de VariáveisVariáveis de Espaço ReservadoArredondar NúmerosCasting de Listas4Aplicativo de Agenda de Contatos
Exibir MenuAdicionar Contato7Conjuntos Parte 2
Operações Matemáticas Parte 1Operações Matemáticas Parte 2Revisão - Caça ao TesouroSubconjuntos e SuperconjuntosIterando sobre ConjuntosRevisão - Rastreador de Torneio10List Comprehensions Básicas
A SintaxeCriando Listas SimplesAdicionando CondiçõesUsando Agregação de DadosRecapitulação - House Of ListsRecapitulação - Elements Of Freedom13Sistema de Gerenciamento de Inventário
Visão Geral do ProjetoAdicionar Item2Dicionários Parte 1
O que é um Dicionário?Criando um DicionárioAcessando ValoresModificando DicionáriosRecapitulação - Gerenciador de Receitas5Tomada de Decisão Avançada
Operador TernárioVerificações de PertencimentoVerificações de IdentidadeErros de IndentaçãoRecapitulação - Filtro de Férias8Gerenciador de Registros de Alunos
Visão Geral do ProjetoAdicionar Aluno11Funções Avançadas
Retornando Múltiplos ValoresFunções Lambda Parte 1Funções Lambda Parte 2Desafio de Recapitulação - Lambda SortFunções Recursivas Parte 1Funções Recursivas Parte 2Recapitulação - Somar Listas Aninhadas14Funções de Ordem Superior
A Função MapA Função FilterRecapitulação - Validador de E-mailRecapitulação - Processador de Números3Dicionários Parte 2
Métodos de DicionárioDicionários AninhadosVerificando ChavesIterando em DicionáriosRecapitulação - Contador de Frequência6Conjuntos Parte 1
O que é um Conjunto?Operações BásicasMétodos de ConjuntosRecapitulação - Remover Duplicatas9Agregação de Dados Avançada
Usando SumEncontrando Mínimo e MáximoOrdenando Dados de Forma EficienteRecapitulação - Dictionary Sorter