gpt4 book ai didi

python - 如何让 Python 显示超过 50 位小数?

转载 作者:行者123 更新时间:2023-11-28 22:59:52 25 4
gpt4 key购买 nike

我编写了这个程序来计算圆周率。它给了我 50 位小数。我怎样才能获得更高的精度?

# pi.py - arctan(1) * 4 = pi
from math import *
from decimal import *

err = 0.0000000000000001

def arctan(n, err):
"""Uses Gregory's formula for calculating atan."""
temp = n
atan = 0
i = 3
while (abs(atan - n) > err):
atan = n
n = n - (pow(temp, i)/i) + ((pow(temp, i + 2)) / (i + 2))
i += 4
return n

def euler(a, b, err):
"""Uses Euler's formula and fibonacci numbers."""
euler = 0
temp = 5
while (abs(temp - euler) > err):
temp = euler
euler += arctan(1/b, err)
a = b + a
b = b + a
return euler


pi = euler(1, 2, err) * 4
print(Decimal.from_float(pi))

最佳答案

您必须将 Decimal prec 设置为更高的值。参见 this example thread . official python site有更多的例子。

此外,您应该使用小数进行所有计算,而不仅仅是最后一步。否则您将无法获得所需的精度。

关于python - 如何让 Python 显示超过 50 位小数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12746911/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com