1
resposta

[Sugestão] Eu fiz assim - somando números recursivamente

def valores(valor):
    soma = 0
    for i in range(1, valor + 1):
        soma += i
    return soma

numero = int(input('Digite um número: '))
resultado = valores(numero)

print(f'A soma de 1 a {numero} é: {resultado}')
1 resposta

Olá, Ana, como vai?

O seu código cumpre o objetivo de somar os números de 1 até o valor definido e a lógica de repetição está correta para uma abordagem iterativa. Notei apenas que o exercício solicita especificamente o uso de uma função recursiva, que é quando a função chama a ela mesma para resolver partes menores do problema até atingir um caso base. No seu exemplo, você utilizou um laço de repetição for, o que funciona bem, mas não utiliza o conceito de recursividade proposto na atividade.

Para transformar sua lógica em recursiva, você pode definir um caso base onde a função para de chamar a si mesma, como quando o valor chega a 1. Um exemplo de estrutura recursiva para essa soma seria:

def somar_recursivo(n):
    if n == 1:
        return 1
    return n + somar_recursivo(n - 1)

resultado = somar_recursivo(5)
print(resultado)

Parabéns por praticar e compartilhar sua solução, pois isso ajuda muito no aprendizado. Continue postando seus exercícios e conte com o fórum se precisar de qualquer auxílio.

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