Oi, Giovanni. Tudo bem com você?
Fiquei muito contente em ver sua resolução para a atividade. O seu código executa com perfeição toda a proposta do exercício e a lógica recursiva foi aplicada de forma correta ao definir muito bem a condição de parada quando o número atinge um. Além disso, a adição de funções acessórias para estilizar o título e tratar possíveis erros de digitação do usuário enriqueceu bastante a legibilidade e a usabilidade do programa principal.
Como uma dica interessante para expandir o conhecimento, é válido pontuar que o Python possui um limite padrão para chamadas recursivas sucessivas na pilha de execução. Caso a função soma_recursiva recebesse um valor inteiro muito alto, por exemplo, o número mil e duzentos, a linguagem dispararia uma exceção do tipo RecursionError para proteger a memória do sistema contra estouro de pilha.
Pensando nessa característica da linguagem sobre profundidade máxima de recursão, como você imagina que poderíamos reescrever essa lógica de acumulação utilizando uma abordagem iterativa convencional?
Parabéns pelo excelente projeto construído e obrigado por compartilhar seu conhecimento conosco, saiba que o fórum está sempre à sua disposição.
Para saber mais:
Conte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!