我尝试按照我在维基百科上找到的特定数学内容在Python中计算圆周率,但它输出的不是圆周率

问题描述 投票:0回答:1

它输出的不是 pi。如何修复? 这是Python

import math

a_one = (23 + 4 * math.sqrt(34))
a = 1 / 2 * a_one

b_one = (19 * math.sqrt(2) + 7 * math.sqrt(17))
b = 1 / 2 * b_one

c = (429 + 304 * math.sqrt(2))

d_one = (627 + 442 * math.sqrt(2))
d = 1 / 2 * d_one


u = (a + (math.sqrt(a**2 - 1))**2) * (b + (math.sqrt(b**2 - 1))**2) * (c + (math.sqrt(c**2 - 1))**2) * (d + (math.sqrt(d**2 - 1)))


pi = (math.log((2 * u)**6 + 24) / math.sqrt(3502))

print(pi)

输出=3.4829888487915346

输入代码并输出 来自维基百科的数学内容

我尝试了chatgpt寻求帮助,但也得到了错误的结果。 要么是维基的数学近似是错误的

python math
1个回答
0
投票

你的

u
有一些错误。

u = (a + (math.sqrt(a**2 - 1))**2) * (b + (math.sqrt(b**2 - 1))**2) * (c + (math.sqrt(c**2 - 1))**2) * (d + (math.sqrt(d**2 - 1)))

应该是

u = ((a + math.sqrt(a**2 - 1))**2) * ((b + (math.sqrt(b**2 - 1)))**2) * (c + (math.sqrt(c**2 - 1))) * (d + (math.sqrt(d**2 - 1)))

问题在于,您对 a 和 b 方程的平方根进行了平方,而不是对括号之间的整个部分进行了平方。另外,c 处有一个正方形,它不应该在那里。

© www.soinside.com 2019 - 2024. All rights reserved.