def somatorio(n):
if n == 1:
return 1
return n + somatorio(n-1)
numero = int(input('Digite um número: '))
print(f'A soma de 1 até {numero} é: {somatorio(numero)}')
Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!
def somatorio(n):
if n == 1:
return 1
return n + somatorio(n-1)
numero = int(input('Digite um número: '))
print(f'A soma de 1 até {numero} é: {somatorio(numero)}')
Oi, Evandro. Tudo bem com você?
O seu código para a atividade de somando números recursivamente atende perfeitamente ao que foi proposto no exercício. Você aplicou de forma impecável o conceito de recursividade em Python, estabelecendo corretamente o caso base para parar as chamadas e a própria chamada recursiva que acumula a soma dos valores inteiros decrescentes.
O funcionamento do algoritmo está correto e limpo, tratando adequadamente a conversão da entrada do terminal para número inteiro. Uma dica valiosa para expandir seus estudos sobre funções recursivas é considerar o comportamento do programa caso o usuário insira um número menor do que um, como zero ou um valor negativo. Em Python, se uma função recursiva continuar diminuindo o número infinitamente sem atingir o caso base, o sistema atingirá o limite máximo de profundidade de recursão e gerará um erro.
Pensando nessa possibilidade de entrada de dados inesperada pelo usuário, de que maneira você adicionaria uma validação condicional para impedir que o cálculo inicie se o número digitado for inválido?
Parabéns pelo excelente desempenho na atividade, obrigado por compartilhar sua solução e saiba que o fórum continua sempre à disposição.