Olá, João, como vai?
Seu código atende plenamente ao que foi solicitado no exercício e você ainda foi além ao implementar uma estrutura de repetição e uma função principal para organizar a execução do programa. É muito positivo ver que você está explorando conceitos como a modularização e o controle de fluxo para tornar a aplicação mais robusta e interativa.
Parabéns pela iniciativa de adicionar essas funcionalidades extras e por compartilhar sua solução com a comunidade. Continue praticando essa lógica de dividir o código em funções menores, pois essa é uma excelente prática no desenvolvimento de software.
Conte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!