小編給大家分享一下python利用公式計算π的方法,希望大家閱讀完這篇文章后大所收獲,下面讓我們一起去探討吧!
成都創(chuàng)新互聯(lián)-專業(yè)網(wǎng)站定制、快速模板網(wǎng)站建設、高性價比枝江網(wǎng)站開發(fā)、企業(yè)建站全套包干低至880元,成熟完善的模板庫,直接使用。一站式枝江網(wǎng)站制作公司更省心,省錢,快速模板網(wǎng)站建設找我們,業(yè)務覆蓋枝江地區(qū)。費用合理售后完善,10年實體公司更值得信賴。
python利用公式計算π的方法:首先導入數(shù)學模塊及時間模塊;然后計算Pi精確到小數(shù)點后幾位數(shù),代碼為【print('\n{:=^70}'.format('計算開始'))】;最后完成計算,代碼為【print('\n{:=^70}'】
python利用公式計算π的方法:
一、π的簡介
π的介紹
圓周率用希臘字母 π(讀作pài)表示,是一個常數(shù)(約等于3.141592654),是代表圓周長和直徑的比值。它是一個即無限不循環(huán)小數(shù),在日常生活中,通常都用3.14代表圓周率去進行近似計算。
π的求解歷程
1965年,英國數(shù)學家約翰·沃利斯(John Wallis)出版了一本數(shù)學專著,其中他推導出一個公式,發(fā)現(xiàn)圓周率等于無窮個分數(shù)相乘的積。
2015年,羅切斯特大學的科學家們在氫原子能級的量子力學計算中發(fā)現(xiàn)了圓周率相同的公式。
2019年3月14日,谷歌宣布圓周率現(xiàn)已到小數(shù)點后31.4萬億位。
此處用一個自我感覺‘良好’的公式進行求解,說良好是因為計算結(jié)果相對準確,但計算過程用時較長,一起來學習吧~~~
二、π的近似計算
1. 計算公式
2. 方法講解
所用公式等式右邊分子都為1,分母為遞增數(shù)列,從第一項開始,奇數(shù)項符號為正,偶數(shù)項符號為負。等式右邊的分母越大,越小,圓周率π計算的值越精確;換個角度講,就是等式右邊的項越多,計算的值越精確。
3. 代碼實現(xiàn)(python)
1 from math import fabs #導入數(shù)學模塊 2 from time import perf_counter #導入時間模塊 3 4 def Bar(i): #動態(tài)文本條 5 N = pow(10,level) 6 a = int((i/N)*50) 7 b = 50 - a 8 Y , N = '*' * a , '.' * b 9 print("\r計算中:{:3.0f}% [{}->{}] {:.2f}s" 10 .format(2*a,Y,N,perf_counter()),end='') 11 12 level = eval(input('計算Pi精確到小數(shù)點后幾位數(shù):')) 13 print('\n{:=^70}'.format('計算開始')) 14 a,b,pi,tmp = 1,1,0,1 15 i = 0 16 ''' 17 a 分子 | b 分母 | pi 圓周率 18 tmp 存儲a/b的值 | i 執(zhí)行進度 19 ''' 20 perf_counter() #開始計時 21 while (fabs(tmp) >= pow(10,-level)): #計算Pi 22 pi += tmp 23 b += 2 24 a = -a 25 tmp = a/b 26 i += 2 27 Bar(i) #調(diào)用函數(shù),實時顯示計算進度 28 29 print('\n{:=^70}'.format('計算完成')) 30 print('\nPi的計算值為:{}'.format(round(pi*4,level))) #輸出計算結(jié)果
4. 圖片示例
由上面3張圖片可知,精確到小數(shù)點后4位只要14.07秒,精確到小數(shù)點后6位也需要124.61秒,而精確到小數(shù)點后8位就需要 850 / 8% = 10625秒,約為 177 分鐘,也就是2.95個小時。這種方法固然好,但計算起來還是需要很長一段時間的。
看完了這篇文章,相信你對python利用公式計算π的方法有了一定的了解,想了解更多相關知識,歡迎關注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝各位的閱讀!