Olá, Giovanni. Como vai?
Parabéns pela excelente resolução da atividade! O seu código ficou extremamente limpo, legível e demonstra que você compreendeu com perfeição os conceitos de modularização, retorno de valores e o uso do bloco main como ponto de entrada em Python.
A divisão que você fez do problema em pequenas funções de responsabilidade única (uma para o visual do título, outra para capturar a entrada e outra para exibir a contagem) é uma das melhores práticas no desenvolvimento de software.
Vou destacar os pontos fortes da sua solução e deixar uma pequena dica para enriquecer ainda mais o seu estudo:
Pontos Fortes do seu Código
- Uso do método
.strip(): Essa foi uma excelente sacada de boa prática. Ao utilizar o .strip() na leitura da palavra, você garante que espaços em branco digitados sem querer no início ou no fim do texto sejam eliminados. Sem isso, se o usuário digitasse " Python ", o programa contaria 8 caracteres em vez de 6. - Flexibilidade na Função
titulo: Fazer a linha decorativa com '=' * len(txt) deixa o visual do seu programa dinâmico. Não importa o tamanho do texto que você passe como argumento, a linha sempre vai se ajustar perfeitamente ao tamanho da palavra. - Estrutura
if __name__ == '__main__':: Utilizar essa condicional para chamar a função main() é a forma padrão de mercado para escrita de scripts em Python, garantindo que o código só seja executado se o arquivo for rodado diretamente (e não quando importado por outro módulo).
Sugestão de Melhoria: Mudando o Nome para contar_texto
A sua função palavra() captura qualquer texto que o usuário digitar (incluindo frases inteiras com espaços internos).
Se o usuário digitar uma frase como "Aprender Python", o seu programa vai contar os caracteres perfeitamente (incluindo o espaço do meio, que faz parte da string). Para deixar o seu código ainda mais semântico, você poderia alterar o nome da função palavra() para algo mais abrangente, como obter_texto().
Caso o seu objetivo original fosse realmente contar apenas as letras de uma palavra ou frase, ignorando os espaços internos que o usuário possa digitar no meio, você poderia fazer uma pequena alteração na hora de medir o tamanho do texto:
def contagem(texto):
# Remove todos os espaços internos antes de contar
texto_sem_espacos = texto.replace(' ', '')
print(f'Essa palavra/frase tem {len(texto_sem_espacos)} caracteres (ignorando espaços).')
Do jeito que você estruturou, o script já atende perfeitamente ao desafio proposto e está super legível. Continue com esse ótimo hábito de organizar seus códigos usando funções!
Espero que possa ter lhe ajudado!