Olá, João, como vai?
Seu código está correto e implementa a lógica solicitada de forma organizada, utilizando funções para separar as responsabilidades do programa. A estrutura de repetição que você criou com a função voltar e a chamada na main demonstra um bom entendimento sobre o fluxo de execução em Python. É positivo notar que você utilizou a formatação de f-strings com :.1f para limitar as casas decimais da média, o que torna a exibição para o usuário muito mais limpa e profissional.
Parabéns pelo empenho no exercício e continue compartilhando seu progresso.
Conte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!