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