您好,登錄后才能下訂單哦!
小編給大家分享一下python中計算pi的方法,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!
一、π的簡介
π的介紹
圓周率用希臘字母 π(讀作pài)表示,是一個常數(約等于3.141592654),是代表圓周長和直徑的比值。它是一個即無限不循環小數,在日常生活中,通常都用3.14代表圓周率去進行近似計算。
π的求解歷程
1965年,英國數學家約翰·沃利斯(John Wallis)出版了一本數學專著,其中他推導出一個公式,發現圓周率等于無窮個分數相乘的積。
2015年,羅切斯特大學的科學家們在氫原子能級的量子力學計算中發現了圓周率相同的公式。
2019年3月14日,谷歌宣布圓周率現已到小數點后31.4萬億位。
二、π的近似計算
1 計算公式
2. 方法講解
所用公式等式右邊分子都為1,分母為遞增數列,從第一項開始,奇數項符號為正,偶數項符號為負。等式右邊的分母越大,越小,圓周率π計算的值越精確;換個角度講,就是等式右邊的項越多,計算的值越精確。
3. 代碼實現(python)
from math import fabs #導入數學模塊 from time import perf_counter #導入時間模塊 def Bar(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精確到小數點后幾位數:')) print('\n{:=^70}'.format('計算開始')) a,b,pi,tmp = 1,1,0,1 i = 0 ''' a 分子 | b 分母 | pi 圓周率 tmp 存儲a/b的值 | i 執行進度 ''' perf_counter() #開始計時 while (fabs(tmp) >= pow(10,-level)): #計算Pi pi += tmp b += 2 a = -a tmp = a/b i += 2 Bar(i) #調用函數,實時顯示計算進度 print('\n{:=^70}'.format('計算完成')) print('\nPi的計算值為:{}'.format(round(pi*4,level))) #輸出計算結果
4. 圖片示例
由上面3張圖片可知,精確到小數點后4位只要14.07秒,精確到小數點后6位也需要124.61秒,而精確到小數點后8位就需要 850 / 8% = 10625秒,約為 177 分鐘,也就是2.95個小時。這種方法固然好,但計算起來還是需要很長一段時間的。
《圓周率π》是個奇妙而美麗的存在,它是個無限不循環小數,就像是一種缺陷美,只要你有發現美的眼睛!
2011年,國際數學協會正式宣布,將每年的3月14日設為國際數學節,來源則是中國古代數學家祖沖之的圓周率。
以上是python中計算pi的方法的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。