Importante

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!

1
resposta

[Projeto] Somando números recursivamente

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)}")
1 resposta

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.

Alura Conte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!