用Python求解π的值

根据下列公式求π的值。

img

每一项的值用一个单独的函数完成,然后在主程序中调用。
可以由用户设置求解精度,当项的值小于设定值时,程序停止计算,并输出π值。

望采纳

def PI(number):
    sn = 1
    for i in range(2,number+1):
        n=(i-1)/(2*i-1)
        sn*=n
    return sn
a=0.0000001
i=1
sum=1
x=1
while x>a:
    i+=1
    x=PI(i)
    print(x)
    sum += x
print(sum*2)

利用函数来求解π的值,运行结果3.141592479958223,随着a值变小,结果越精确

sn=1
sum=1
for i in range(2,1000):
    n=(i-1)/(2*i-1)
    sn=n*sn
    sum+=sn
print(sum*2)

利用循环来解决,求得π的值为3.1415926535897922


sum = 1
n = 1
sn = 1
# t是设定值
t = int(input('t='))
while True:
    n += 1
    sn *= (n - 1) / (2 * n - 1.0)
    sum += sn
    if sn < t:
        break
print(2*sum)