如何在Python中计算运行总计?

时间:2015-09-23 16:16:59

标签: python

我试图创建一个让我计算x(i)= 1 / i ^ 2的程序i = 1,2,⋯,N

到目前为止,这是我的代码:

end = int(input("How many times do you want to calculate it?: "))

x = 0.0

for i in range (0, end):
    x = x + (1 / end **2)
print ("The sum is", x)

我似乎遇到了将X的不同值加在一起的问题。

如果我需要它,我该怎么做?

3 个答案:

答案 0 :(得分:1)

您没有使用增量i

你也除以零。

尝试:

end = int(input("How many times do you want to calculate it?: "))

x = 0.0

for i in range (1, end+1):
    x = x + (1 / (i**2))
print ("The sum is", x)

这应该提供您正在寻找的结果。享受!

答案 1 :(得分:0)

即使在这一小段代码中,仍有许多事情要做得更好。

end = int(input("How many times do you want to calculate it?: "))
print(sum([1/i*2 for i in range(1, end+1)]))

使用sum等内置函数。他们是python的主要力量。

小心range。默认情况下,范围从0开始,当然,你不想除以0。另外,我认为您希望end成为i的最后一个值。在这种情况下,您必须向end添加1才能将其包含在范围内。

希望这有帮助。

答案 2 :(得分:0)

考虑除以零问题并使用求和特征和列表理解(更紧凑):

end = int(input("How many times do you want to calculate it?: "))
x = 0
x = sum([x + (1.0/(i**2)) for i in range(1, end+1)])
print ("The sum is", x)

强调1.0,所以你不要除以0