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}')
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}')
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.