0
import math
k = 0
def factorial(k):
if k == 0:
return 1
else:
return k * factorial(k - 1)
formula = (((factorial(4 * k)) * (1103 + 26390 * k))/((factorial(k) ** 4)) * (396 ** (4 * k)))
while k > (1e − 15):
for k in range():
if k == 0:
return k
else:
return k + formula
print(summation(k, formula))
value_wanted = ((2* math.sqrt(2))/9801) * summation(k)
print('1/pi equals' , value_wanted)
这是一个代码,它试图使公式近似于pi的值。它给了我一个错误,'k> 1e - 15',我不知道为什么。我希望代码返回公式变量中写的公式的总和,每次将k值改为1,直到最后一项小于1e - 15。如何在python中从0到无穷大求和?
什么错误?请阅读[如何提问](https://stackoverflow.com/help/how-to-ask)并改进问题。另外请注意,缩进在python中很重要,而你的方式就不行了。 –
你在用什么编辑器?由于'(1e-15)'中的减号不是一个普通的连字符,而是unicode char MINUS SIGN,所以你得到'SyntaxError:标识符中的无效字符'。 'unicodedata.name(' - ')'会告诉你这个。 –
请修复您的缩进 – jsbueno