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'の間の行にエラーをもたらし、私は理由を知らない。コードでは、式変数に書き込んだ式の合計を返すようにします。最後の単語が1e - 15未満になるまで、毎回k値を1ずつ変更します。Pythonで0から無限大までの総和を作る方法は?
どのようなエラーがありますか? [質問する](https://stackoverflow.com/help/how-to-ask)を読んで質問を改善してください。また、インデントはPythonで重要であり、あなたのものは途方もないことに注意してください。 –
どのエディターを使用していますか? '(1e-15)'のマイナス記号は普通のハイフンではなくUnicodeの文字MINUS SIGNであるため、 'SyntaxError:invalid character in identifier'を取得します。 'unicodedata.name( ' - ')'これを伝えます。 –
インデントを修正してください – jsbueno