def soma_recursiva(n):
if n == 1:
return 1
return n + soma_recursiva(n - 1)
n = int(input("Digite um número: "))
resultado = soma_recursiva(n)
print(f"A soma de 1 a {n} é: {resultado}")
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 soma_recursiva(n):
if n == 1:
return 1
return n + soma_recursiva(n - 1)
n = int(input("Digite um número: "))
resultado = soma_recursiva(n)
print(f"A soma de 1 a {n} é: {resultado}")
Oi, Tamy. Tudo bem com você?
Obrigado por compartilhar sua solução para o exercício de somando números recursivamente. Seu código atende ao objetivo da atividade e utiliza corretamente o conceito de recursão. O caso base foi definido quando n == 1, interrompendo as chamadas recursivas no momento adequado, enquanto a chamada soma_recursiva(n - 1) permite acumular os valores até chegar ao resultado esperado. A leitura da entrada e a exibição da mensagem final também estão de acordo com a proposta do exercício.
Como dica de aprofundamento, você pode pensar em como adaptar essa função para lidar com valores menores que 1. Atualmente, se o usuário informar 0 ou um número negativo, a recursão continuará indefinidamente até ocorrer um erro de limite de recursão. Em uma situação prática, uma validação antes da chamada da função ou um caso base adicional pode tornar a solução mais robusta.
Pensando em uma evolução desse exercício, como você adaptaria a função para calcular a soma de um intervalo qualquer, como de 3 até 8?
Parabéns pelo empenho e por compartilhar sua resolução. Continue praticando e utilizando o fórum para trocar conhecimentos. Estamos à disposição para ajudar sempre que precisar.