私は無限の合計を使って非常に多くの小数点以下桁にpiを計算するプログラムを書いています.22回反復すると小数点以下は15桁になります。しかし、pythonの制限のために、これは表示できる小数点以下の桁数の最大値です。ですから、この問題を解決してインターネットを見て、this websiteにpython decimalクラスの情報が含まれていることがわかりました。小数点の値を変数として格納する方法
これは私の問題の完璧な解決策のようですが、この方法を試してみると数値を追加して変数に保存することができませんでした。答えを見つけるために元のサイトに戻った後、私は変数を含むものを見つけることができませんでした。しかし、そのページは馬鹿馬鹿しくて、何かを見逃してしまったかもしれません。ここで
が、それは小数部アウトと正常に動作し、私のコードです:
from decimal import *
getcontext().prec = 30
n = 0
value = 1/2
while True:
n += 1
top = 1
bottom = 2 ** (2 * n + 1) * (2 * n + 1) * 2
for i in range(n):
top *= 2 * i + 1
if i != 0: bottom *= 2 * i + 2
value += Decimal(top)/Decimal(bottom)
print(value * 6)
EDIT: これは私が受け取っているエラーです:
TypeError: unsupported operand type(s) for +=: 'float' and 'decimal.Decimal'
これが最初であります私がこのクラスで働いていた時期であり、どのようにcontiuneするのかはわかりません。
@StefanPochmann私の質問を更新しました –