python 计算第n阶调和数(1+1/2+1/3+1/4+--+1/n)的函数

题:定义计算并返回第n阶调和数(1+1/2+1/3+1/4+--+1/n)的函数。假如从键盘输入题目:n-100,得到结果为s-5.1874.请p改正程序中的错误,使它能得出正确的结果。

def harmonic(n):
    s = 0
    for i in range(1, n+1):
        s += 1/i
    return s

n = int(input("请输入题目中的n: "))  # 获取输入的n
s = harmonic(n)  # 调用harmonic函数计算结果
print("s的值为:", round(s, 4))  # 输出结果,保留4位小数p

        这里使用了一个循环来计算调和数,注意循环的范围是从1到n。另外,输出的时候使用了 `round` 函数保留了4位小数。

        注:对于 n = 100 来说,实际上需要计算的调和数非常大,达到了 5.187377517639621。因此题目中的结果是不准确的,正确结果应该保留更多的小数位。

你可能感兴趣的:(python)