Oii, Everaldo. Tudo bem?
É muito comum sentir que estamos complicando o código no início. Na verdade, esse sentimento é um ótimo sinal: mostra que você já consegue resolver o problema e agora está começando a refinar sua percepção sobre como deixar a lógica mais direta.
Não existe um "caminho errado" quando o código entrega o que foi pedido, mas existem formas de tornar o fluxo mais natural.
Analisando sua abordagem:
Você utilizou conceitos muito interessantes, como list comprehension e dicionários. Mas, para este desafio específico, alguns passos acabaram gerando um trabalho extra para o computador que não era necessário para o resultado final:
- Uso de dicionários: Você criou um dicionário chamado
contador para guardar o tamanho de cada palavra. Como o objetivo era apenas filtrar as palavras longas, você pode fazer essa verificação de tamanho (len(p)) diretamente dentro da lista, sem precisar armazenar esses valores antes. - Modularização: Criar a função
texto_um foi um bom exercício de organização, mas como ela apenas encapsula um input e um split, em scripts pequenos ela pode acabar deixando o código mais extenso sem necessidade.
O que você pode simplificar:
A ideia principal é tentar fazer o dado "fluir" do início ao fim com o menor número de paradas possíveis.
- Seu código: Recebe texto -> Transforma em lista -> Cria dicionário de tamanhos -> Filtra para nova lista -> Exibe.
- Caminho sugerido: Recebe texto -> Filtra as palavras com
len > 10 durante a criação da lista -> Exibe.
Sua utilização de List Comprehension foi excelente:
lista_dez = [p for p in lista if len(p) > 10]
Esse recurso é bem Pythonico e já resume bem o que o exercício pedia.
Programar é um processo de tradução. Antes de escrever o código, tente pensar nos passos em voz alta. Se você disser "Vou contar o tamanho de cada palavra, guardar em uma tabela e depois olhar a tabela", você usará um dicionário. Se disser "Vou olhar cada palavra e, se for grande, coloco na lista", você usará apenas o filtro.
Você está no caminho certo e dominar essas ferramentas agora permitirá que você resolva problemas muito maiores no futuro.
Conte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!