1. 程式人生 > >python小程式一個:π的計算

python小程式一個:π的計算

通過割圓法來計算π的大小是一種常用的方法。

---------------------------------------------------------------------------------------------------------------------------------

以下轉載自百度百科,連結:https://baike.baidu.com/item/%E5%89%B2%E5%9C%86%E6%9C%AF/595781?fr=aladdin

割圓術”,則是以“圓內接正多邊形的面積”,來無限逼近“圓面積”。劉徽形容他的“割圓術”說:割之彌細,所失彌少,割之又割,以至於不可割,則與圓合體,而無所失矣。即通過圓內接
正多邊形
細割圓,並使正多邊形的周長無限接近圓的周長,進而來求得較為精確的圓周率。劉徽發明“割圓術”是為求“圓周率”。那麼圓周率究竟是指什麼呢?它其實就是指“圓周長與該圓直徑的比率”。很幸運,這是個不變的“常數”!我們人類藉助它可以進行關於圓和球體的各種計算。如果沒有它,那麼我們對圓和球體等將束手無策。同樣,圓周率數值的“準確性”,也直接關乎到我們有關計算的準確性和精確度。這就是人類為什麼要求圓周率,而且要求得準的原因。根據“圓周長/圓直徑=圓周率”,那麼圓周長=圓直徑*圓周率=2*半徑*圓周率(這就是我們熟悉的圓周長=2πr的來由)。因此“圓周長公式”根本就不用背的,只要有小學知識,知道“圓周率的含義”,就可自行推導計算。也許大家都知道“圓周率和π”,但它的“含義及作用”往往被忽略,這也就是割圓術的意義所在。由於“圓周率=圓周長/圓直徑”,其中“直徑”是直的,好測量;難計算精確的是“圓周長”。而通過劉徽的“割圓術”,這個難題解決了。只要認真、耐心地精算出圓周長,就可得出較為精確的“圓周率”了。——眾所周知,在中國祖沖之最終完成了這個工作。

---------------------------------------------------------------------------------------------------------------------------------

以下是我編的簡單計算π的程式:

import math
def yuan(l,r):
    l1=math.sqrt(0.25*l**2+(r-math.sqrt(r**2-0.25*l**2))**2)
    return l1
print("警告:根據計算機效能,所計算的π值會有誤差的可能性,作者在輸入n=514後在最後一個結果中發現錯誤")
a=1
r=1
l=r
print('---提示:你可以通過輸入0來停止執行本程式---')
while True:
    n=int(input('----請輸入切割圓的次數(以6等分開始,輸入1為六等分,但是不會顯示):'))
    a=1
    r=1
    l=r
    if n==0:
        print('---- π的計算 程式停止執行----')
        break
    while n>a:
        l=yuan(l,r)
        shu=(l*(6*2**(a))/(2*r))
        print("%.50f" % shu)

        a=a+1

可以通過這種方法來讓計算機通過python程式來計算π的值.