1. 程式人生 > >圓周率的計算與進度條

圓周率的計算與進度條

() clas itl 分享 結果 對角線 tar python .com

先來看幾張圖片

技術分享圖片技術分享圖片技術分享圖片......

以上依次是正四邊形,正八邊形,正十六邊形......這些圖形的對角線長都是2,不難看出,按這種方式一直畫下去,最後的圖形可以近似看作一個圓,以下代碼是依照這種思路用Python計算π的值,附加進度條

技術分享圖片
import math
import time 
scale=14
s,m,=1,2
print("執行開始".center(scale//2, "-"))
start = time.perf_counter()
for i in range(scale+1): 
    s=math.sqrt((1-math.sqrt(1-pow(s,2)))/2)
    m=m*2
    a = ‘*‘ * i 
    b = ‘.‘ * (scale - i)
    c = (i/scale)*100 
    dur = time.perf_counter() - start 
    print("\r{:^3.0f}%[{}->{}]{:.2f}s".format(c,a,b,dur))
    time.sleep(0.1)
Pi=s*m
print("Pi值是{}".format(Pi))
print("\n"+"執行結束".center(scale//2,‘-‘))
技術分享圖片

運行結果如下

技術分享圖片

技術分享圖片

圓周率的計算與進度條