def valores_acumulados(n):
if n == 1:
return 1
else:
return n + valores_acumulados(n-1)
n = int(input("Digite um número: "))
print(f"A soma de 1 a {n} é: {valores_acumulados(n)}")
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 valores_acumulados(n):
if n == 1:
return 1
else:
return n + valores_acumulados(n-1)
n = int(input("Digite um número: "))
print(f"A soma de 1 a {n} é: {valores_acumulados(n)}")
Oi, Laís. Tudo bem com você?
O exercício sobre soma recursiva de números de 1 até n está implementado corretamente, e a função valores_acumulados representa bem a ideia de recursão, utilizando a chamada da própria função para reduzir o problema até o caso base. O uso de if n == 1 garante a condição de parada, o que é essencial para evitar chamadas infinitas.
Uma evolução interessante desse exercício seria comparar essa abordagem recursiva com uma versão iterativa utilizando for, analisando diferenças de desempenho e legibilidade em cenários com valores maiores. Em quais situações você acredita que a recursão se torna mais vantajosa do que um laço tradicional?
Parabéns pela implementação e pela compreensão do conceito de recursão. O fórum segue disponível para suas próximas contribuições e dúvidas.