我正在編寫一個程序,該程序使用無限和來非常快速地計算pi到大量的小數位數,22次迭代得到15位小數位數。但是,由於python的限制,這是可以顯示的最大小數位數。所以試着解決這個問題,我期待在互聯網上發現this website,其中包括有關python十進制類的信息。如何將十進制值存儲爲變量
這似乎是對我的問題的完美解決方案,但是在嘗試此方法時,我無法添加數字並將它們保存到變量中。回到原始網站找到答案後,我找不到涉及變量的任何內容。但是這個頁面很長,我可能很容易漏掉一些東西。
這裏是我的代碼,它工作正常進行的小數部分:
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)
編輯: 這是我收到的錯誤:
TypeError: unsupported operand type(s) for +=: 'float' and 'decimal.Decimal'
這是第一次我曾與這個班級合作過,我不確定如何保持穩定。
@StefanPochmann我已經更新了我的問題 –