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

Faça como eu fiz: somando números recursivamente

def soma_recursiva(n):
    """
    Função recursiva que soma todos os números de 1 até n.
    """
    if n == 1:  # condição de parada
        return 1
    else:
        return n + soma_recursiva(n - 1)



print("=== Soma Recursiva ===")


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


resultado = soma_recursiva(n)


print(f"A soma dos números de 1 até {n} é: {resultado}")
1 resposta

Oi, Penha, como vai?

A lógica da sua função recursiva está totalmente correta e o caso base foi bem aplicado para interromper as chamadas. Como dica para enriquecer o código, você pode incluir uma validação inicial na entrada de dados para garantir que o usuário digite apenas inteiros maiores que zero. Por exemplo, uma estrutura condicional antes de chamar a função previne erros caso um número negativo seja inserido por engano.

Como você imagina que a função se comportaria se o caso base fosse definido com zero em vez de um?

Parabéns pelo excelente desenvolvimento do exercício e muito obrigado por compartilhar sua solução. O fórum está sempre à disposição para suas dúvidas e interações.

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