圓周率,一般以π來表示,是一個在數學及物理學普遍存在的數學常數。它定義為圓形之周長與直徑之比值。它
圓周率π也等於圓形之面積與半徑平方之比值。是精確計算圓周長、圓面積、球體積等幾何形狀的關鍵值。 在分析學上,π可以嚴格地定義為滿足sin(x) = 0的最小正實數x。2011年6月部分學者認為圓周率定義不合理,要求改為6.28。
圓周率(Pai)是圓的周長與直徑的比值,一般用希臘字母π表示,是一個在數學及物理學中普遍存在的數學常數。π也等於圓形之面積與半徑平方之比。是精確計算圓周長、圓面積、球體積等幾何形狀的關鍵值。 在分析學裡,π可以嚴格地定義為滿足sin x = 0的最小正實數x。
圓周率用字母 π(讀作pài)表示,是一個常數(約等於3.141592654),是代表圓周長和直徑的比值。它是一個無理數,即無限不循環小數。
在日常生活中,通常都用3.14代表圓周率去進行近似計算。而用十位小數3.141592654便足以應付一般計算。即使是工程師或物理學家要進行較精密的計算,充其量也只需取值至小數點後幾百個位。
Python學習資料請私信「學習」即可領取
我們的代碼分為兩個,一個用來演示割圓法的原理,另一個用來計算割圓法的π值。
首先先講一下割圓法的原理,其實很簡單。大家看一看剛才那個視頻就可以了。就是說。一個圓,我們怎樣才能求出π。要知道,在中國古代,很長一段時間大家都求不出π的較精確值。
原理就是這樣。我們假設存在一個正六邊形,邊長為1,當然,正六邊形的「半徑」也是1。
大家都知道這樣一個公式:圓的周長=2*π*圓的半徑。可以說,我們只需要得到了圓的周長,就可以通過:π=周長/(2*圓的半徑)得到π的近似值。
割圓法的基本思路其實就是微積分的思路。即,把正n邊形的每一條邊都分隔成兩個邊,讓正n邊形變成正2n邊形。求出正2n邊形的邊長,進而求出正2n邊形的周長。
最後,通過微積分的思想,就可以讓正n邊形不斷接近圓啦。
現在給大家講一下代碼:
import math
def zu(n):
## 假設邊長為1
def f(x): ## 由當前邊長,求割後邊長
h = 1 - math.sqrt(1-(x/2)**2)
return math.sqrt(h**2 + (a/2)**2)
a = 1 ## 初始邊長
k = 6 ## 初始邊數
for i in range(n):
a = f(a)
k *= 2
return a * k / 2
if __name__ == '__main__':
print(zu(10))
print(math.pi)
以上就是求解π的完整代碼,首先我們定義一個zu函數,這個函數就是求解π的函數。其中的形參就是n,代表迭代幾次。a和k代表初始邊長和初始邊數,也就是說這是個邊長為1的正6邊形。
然後,我們定義一個f(x)來求出正n邊形的邊長,這個for循環迭代,裡面的k是正多邊形的邊的數量,每次迭代,邊的數量增加兩倍,通過f(a)求出其半徑。
for i in range(n):
迭代結束後,我們通過
求出n邊形的近似π值。用到的原理就是:π=周長/(2*圓的半徑)