Crie um código que, dado um número naturak n, retorna a soma e o produto dos números naturais de 1 até n. Acrescente no código uma mensagem de erro para o computador parar caso n seja negativo.

Passo 1

O enunciado pede um código que, dado um inteiro n, calcule a soma
sumi=1^ni e o produto
prodi=1^ni, e pare com mensagem de erro se n for negativo. Vamos usar em Python:
  • uma verificação com if para detectar n<0,
  • um laço for para acumular soma e produto,
  • e lançar uma exceção para interromper em caso de entrada inválida.

Passo 2

Validar o valor de . Se , interromper com mensagem de erro. Em Python isso pode ser feito com:
if n < \(0\):
    raise ValueError("Erro: n deve ser um número natural não negativo.")

Passo 3

Calcular soma e produto em um único laço. Começamos com soma \(=0\) e produto \(=1\), e para cada de até atualizamos:
soma \(+=\) i
produto *\(=\) i

Resposta

def soma\_e\_produto(n):
    if n < 0:
        raise ValueError("Erro: n deve ser um número natural não negativo.")
    soma = 0
    produto = 1
    for i in range(1, n + 1):
        soma += i
        produto *= i
    return soma, produto

if __name__ == "__main__":
    n = int(input("Digite um número natural n: "))
    s, p = soma\_e\_produto(n)
    print(f"Soma de 1 até {n}: {s}")
    print(f"Produto de 1 até {n}: {p}")

Exercícios relacionados