Я пишу программу, которая использует бесконечную сумму для вычисления pi до большого количества десятичных знаков очень быстро, 22 итерации приводят к 15 десятичным знакам. Однако из-за ограничений python это максимальное количество десятичных знаков, которое может быть показано. Поэтому попытайтесь исправить эту проблему, я посмотрел в Интернете и нашел this website, в котором была включена информация о десятичном классе python.Как хранить десятичные значения в виде varible
Это казалось идеальным решением для моей проблемы, однако при попытке этого метода я не смог добавить числа и сохранить их в переменной. Вернувшись на исходный сайт, чтобы найти ответ, я не мог найти ничего с переменной. Но страница смехотворно длинная, и я мог бы что-то пропустить.
Вот мой код, он отлично работает с из десятичной части:
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'
Это первый время, с которым я работал с этим классом, и я не уверен, как это сделать.
@StefanPochmann Я обновил свой вопрос –