Primeira vez aqui? Seja bem vindo e cheque o FAQ!
x

Como fazer a soma de frações determinada por um número N em PYTHON?

+1 voto
59 visitas
perguntada Mai 16 em Programação Computacional por Pamela de Oliveira (6 pontos)  

Tenho uma função que soma a sequência de algarismos até N.

def soma(n):

if n >0:
return n + soma(n - 1)

Eu quero que ela faça a soma da sequência mas de valores em frações.

Calcular 1 + 1/2 + 1/3 + ... + 1/N

Em que N é um número natural diferente de zero.
A resposta é em decimal com 4 casas.

Exemplo

Entrada do programa: 5

Saída: 2.2833

Compartilhe

1 Resposta

+1 voto
respondida Mai 19 por Stuart Mill (1,474 pontos)  

Segue sugestão de resposta. Não coloquei a precisão que você pediu, mas poderia ser alterado para incluir. Fiz de duas formas (recursiva e iterativa).

# Iterativa
def soma_func_it(n):
    acumulador = 0
    for num in range(n):
        acumulador += 1/float(num+1)
        print(acumulador)
    return acumulador
#Teste
print(soma_func_it(5))

# Recursiva
def soma_func_rec(n):
    if n>0:
        return 1/float(n)+soma_func_rec(n-1)
    else:
        return 0
print(soma_func_rec(5))
...