溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

python中計算pi的方法

發(fā)布時間:2020-09-03 14:14:37 來源:億速云 閱讀:608 作者:小新 欄目:編程語言

小編給大家分享一下python中計算pi的方法,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!

一、π的簡介

π的介紹

圓周率用希臘字母 π(讀作pài)表示,是一個常數(shù)(約等于3.141592654),是代表圓周長和直徑的比值。它是一個即無限不循環(huán)小數(shù),在日常生活中,通常都用3.14代表圓周率去進(jìn)行近似計算。

π的求解歷程

1965年,英國數(shù)學(xué)家約翰·沃利斯(John Wallis)出版了一本數(shù)學(xué)專著,其中他推導(dǎo)出一個公式,發(fā)現(xiàn)圓周率等于無窮個分?jǐn)?shù)相乘的積。

2015年,羅切斯特大學(xué)的科學(xué)家們在氫原子能級的量子力學(xué)計算中發(fā)現(xiàn)了圓周率相同的公式。

2019年3月14日,谷歌宣布圓周率現(xiàn)已到小數(shù)點(diǎn)后31.4萬億位。

二、π的近似計算

1 計算公式

python中計算pi的方法

2. 方法講解

所用公式等式右邊分子都為1,分母為遞增數(shù)列,從第一項開始,奇數(shù)項符號為正,偶數(shù)項符號為負(fù)。等式右邊的分母越大,越小,圓周率π計算的值越精確;換個角度講,就是等式右邊的項越多,計算的值越精確。

3. 代碼實(shí)現(xiàn)(python)

from math import fabs        #導(dǎo)入數(shù)學(xué)模塊
from time import perf_counter   #導(dǎo)入時間模塊

    def Bar(i):         #動態(tài)文本條
        N = pow(10,level)
        a = int((i/N)*50)
        b = 50 - a
        Y , N = '*' * a , '.' * b
   print("\r計算中:{:3.0f}% [{}->{}] {:.2f}s".format(2*a,Y,N,perf_counter()),end='')
     
level = eval(input('計算Pi精確到小數(shù)點(diǎn)后幾位數(shù):'))
print('\n{:=^70}'.format('計算開始'))
a,b,pi,tmp = 1,1,0,1
i = 0
'''
a 分子  |  b 分母  |  pi 圓周率
tmp 存儲a/b的值    |  i  執(zhí)行進(jìn)度
'''
perf_counter()      #開始計時
while (fabs(tmp) >= pow(10,-level)): #計算Pi
    pi += tmp
    b += 2
    a = -a
    tmp = a/b
    i += 2
    Bar(i)          #調(diào)用函數(shù),實(shí)時顯示計算進(jìn)度

print('\n{:=^70}'.format('計算完成'))
print('\nPi的計算值為:{}'.format(round(pi*4,level))) #輸出計算結(jié)果

 4. 圖片示例

python中計算pi的方法

python中計算pi的方法

python中計算pi的方法

由上面3張圖片可知,精確到小數(shù)點(diǎn)后4位只要14.07秒,精確到小數(shù)點(diǎn)后6位也需要124.61秒,而精確到小數(shù)點(diǎn)后8位就需要 850 / 8% = 10625秒,約為 177 分鐘,也就是2.95個小時。這種方法固然好,但計算起來還是需要很長一段時間的。

《圓周率π》是個奇妙而美麗的存在,它是個無限不循環(huán)小數(shù),就像是一種缺陷美,只要你有發(fā)現(xiàn)美的眼睛!

2011年,國際數(shù)學(xué)協(xié)會正式宣布,將每年的3月14日設(shè)為國際數(shù)學(xué)節(jié),來源則是中國古代數(shù)學(xué)家祖沖之的圓周率。

以上是python中計算pi的方法的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對大家有所幫助,如果還想學(xué)習(xí)更多知識,歡迎關(guān)注億速云行業(yè)資訊頻道!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI