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

Somando números recursivamente

Segue a minha resolução:

n = int(input("Digite um número inteiro: "))

def soma_recursiva(n):

  if n == 1:
    return 1
  return n + soma_recursiva(n-1)

print(f"A soma de 1 até {n} é: {soma_recursiva(n)} ")

# resposta

Digite um número inteiro: 6
A soma de 1 até 6 é: 21
1 resposta

Oi, Deivide! Como vai?

Sua resolução ficou muito boa e mostra bem a ideia de recursividade, já que a função soma_recursiva(n) chama ela mesma reduzindo o valor de n até chegar ao caso base n == 1. O teste com 6 também confirma que a soma de 1 até 6 retorna corretamente 21.

Dica: para deixar a função mais segura, você pode pensar em um caso base para quando o número digitado for 0 ou negativo, evitando chamadas recursivas sem fim.

Como você ajustaria sua função para tratar esses valores antes de fazer a soma?

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