我试图创建一个让我计算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的不同值加在一起的问题。
如果我需要它,我该怎么做?
答案 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