1
resposta

[Sugestão] Faça como eu fiz: somando números recursivamente

# Lambda que recebe n e chama a si mesma pelo nome da variável
soma_recursiva = lambda n: 1 if n == 1 else n + soma_recursiva(n - 1)

try:
    numero = int(input("Digite um número: "))
    if numero > 0:
        print(f"A soma de 1 a {numero} é: {soma_recursiva(numero)}")
    else:
        print("Por favor, digite um número maior que zero.")
except ValueError:
    print("Entrada inválida.")
1 resposta

Olá, Marinaldo, como vai?

Seu código atende perfeitamente ao que foi solicitado no exercício, utilizando uma abordagem moderna com a função lambda para resolver a recursão de forma compacta. A implementação do tratamento de erros com o bloco try-except e a verificação se o número é maior que zero garantem que o programa seja robusto e lide bem com entradas inesperadas do usuário. O uso da recursividade para a soma de 1 a n segue a lógica matemática correta, onde o caso base interrompe a execução no número 1.

Parabéns pelo excelente trabalho e por compartilhar sua solução com a comunidade, continue praticando e postando seus progressos. O fórum está à disposição para qualquer dúvida que surgir durante seus estudos.

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