Python有趣小知識——割圓法求「圓周率」(附學習資料)

2020-12-06 小小編程轅

圓周率,一般以π來表示,是一個在數學及物理學普遍存在的數學常數。它定義為圓形之周長與直徑之比值。它

圓周率π也等於圓形之面積與半徑平方之比值。是精確計算圓周長、圓面積、球體積等幾何形狀的關鍵值。 在分析學上,π可以嚴格地定義為滿足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*圓的半徑)

相關焦點

  • python割圓法求「圓周率」
    「割圓法 」獲取原始碼。在群文件中下載原始碼以及相關資料。開發工具:mathturtle我們的代碼分為兩個,一個用來演示割圓法的原理,另一個用來計算割圓法的π值。首先先講一下割圓法的原理,其實很簡單。一個圓,我們怎樣才能求出π。要知道,在中國古代,很長一段時間大家都求不出π的較精確值。原理就是這樣。我們假設存在一個正六邊形,邊長為1,當然,正六邊形的「半徑」也是1。大家都知道這樣一個公式:圓的周長=2*π*圓的半徑。可以說,我們只需要得到了圓的周長,就可以通過:π=周長/(2*圓的半徑)得到π的近似值。割圓法的基本思路其實就是微積分的思路。
  • 圓周率的故事
    圓周率的開始在公元前3世紀,古希臘的阿基米德就成功利用割圓法求得π的值介於3.14163和3.14286之間,這個數字成功的算對了小數點後三位。而在此之前π的值總是被默認為3。當把 π 定義為周長和直徑的比值後,如何進一步計算圓的面積呢?通過推導,可以得到半徑為 r 的圓的面為 πr^2, 但這個結論又如何被證明呢?
  • 今天圓周率日 你一定背過3.1415926
    在2011年,國際數學協會正式宣布,將每年的3月14日設為國際圓周率日。而這,是為了我國古代偉大的數學家祖衝之。他是世界上第一個將「圓周率」精算到小數第七位,即在3.1415926和3.1415927之間,他提出的「祖率」對數學的研究有重大貢獻。直到16世紀,阿拉伯數學家阿爾·卡西才打破了這一紀錄。談到祖衝之,就必須得聊下割圓法(割圓術)。
  • 今天圓周率日:你一定背過 3.1415926
    今天是國際圓周率日。如果現在突然要你背π的值,你能背到幾位?我大概可以背到20多位:3.1415926535897932384626(小編對著蒼天發誓:這絕對是背出來的)。話說回來,只要能記得3.1415926,回到古代就夠你用的了。圓周率是什麼?
  • 知否| 今天圓周率日 你一定背過3.1415926!
    我大概可以背到20多位:3.1415926535897932384626(小編對著蒼天發誓:這絕對是背出來的)。話說回來,只要能記得3.1415926,回到古代就夠你用的了。圓周率是什麼?他是世界上第一個將「圓周率」精算到小數第七位,即在3.1415926和3.1415927之間,他提出的「祖率」對數學的研究有重大貢獻。直到16世紀,阿拉伯數學家阿爾·卡西才打破了這一紀錄。談到祖衝之,就必須得聊下割圓法(割圓術)。割圓術是個啥?對於圓周率的研究,在人類歷史上很早就開始了。
  • 圓周率兀會不會在1億億億……億位被除盡或者開始出現循環節?
    答:圓周率已被證明是無理數,而是還是無理數中的超越數,無論在任何整數進位下,圓周率都不可能出現循環。   在數學中,無理數不能寫成兩個整數之比,超越數則不滿足任何整係數方程的根;圓周率是數學中最重要的常數之一,在1761年被證明為無理數,1882年被證明為超越數。
  • 祖衝之如何算出圓周率?用編程還原計算過程,結果令人感嘆不已
    (據考證算盤實在唐、宋時期才出現的)祖衝之計算時使用的是一些小木棍——算籌,且不論測量時如何解決誤差問題,僅是計算時面臨的困難,其難度可想而知。今天,我們還原祖衝之周長法計算圓周率,當然不用再拿尺子去量了,藉助計算機的強大運算能力,學習少兒編程的小朋友使用Scratch編程也能輕易計算出更精準的π。
  • 圓周率能算盡嗎?根據普朗克長度,周長能無限分割嗎?
    ,然後一直把邊數翻倍,使得邊周長不斷逼近圓周長,以此求得的圓周率的上下限無限接近圓周率的精確值。二,關於第二個問題和數學上的一些特徵因為圓周率是通過不斷割圓的周長來取得精確值的,但普朗克長度是最小的長度,不能再對它進行分割,那割圓術把圓周長如割到小於普朗克長度時是否也不能再割?
  • 圓周率與自然對數
    圓周率π圓周率的幾何意義大家都非常清楚,就是圓的周長和直徑的比值。它的數值大家也熟悉的不要不要的,一個不三不四的數,甚至還有不少人舉行圓周率的背誦比賽。即使說起圓周率的數值是怎麼計算的,大部分人也知道基本原理:割圓法。就是用一系列越來越接近圓周的多邊形來逐步逼近圓周長,從而得到和直徑的比值,祖衝之就是這麼計算的。
  • 圓周率π的旅程:從1位到31萬億位
    但這個數字來的並不容易,上古時期,古文明中國從青銅時代就開始計算圓周率。1.公元前17世紀埃及提出圓周率是16/9的平方。2.出土的巴比倫第一王朝泥板上,認為圓周率是3或者3又1/8。3.公元前250年左右,古希臘的阿基米德提出的第1種逼近圓周率的算法,做圓的內接和外切正六邊形,得出圓周率的上下限,然後倍增到正十二邊形、正二十四邊形、正四十八邊形、正九十六邊形,但是由於希臘人的算術能力有限,他只求到兩位小數的精度,得數圓周率在223/71和22/7之間。
  • 偽·從零開始學算法 - 2.3 求圓周率
    割圓術割圓術是第一個有紀錄、嚴謹計算π數值的算法。一般來說,它是通過計算圓內接正多邊形和/或圓外切正多邊形的周長的方式來計算圓周率。隨著正多邊形的邊數增長,其形狀越接近圓,因此可以據它的周長或面積計算圓周率。理論上來說,它可以計算任意精度的圓周率的值。
  • 圓周率無法算盡,但如果它哪天算盡了會怎樣呢?專家:世界崩塌
    不過,到現在為止,也沒人能將圓周率算到盡頭。在日常工作、學習中,我們都只用3.14做圓周率的數值,後面再精確的數字只用於更高端的研究裡。01現代計算圓周率能計算到小數點後數億位,是因為現在的計算機比較先進,人們只需要設置幾個程序就能將其計算出來。
  • 圓周率是算不盡的無理數,如果有一天他被算盡了,會發生什麼後果?
    圓周率π是世界公認的無理數數列,也就是說圓周率是算不盡的。而在國內,最早研究圓周率並取得了一定成就的人是祖衝之。祖衝之是南北朝時期的數學家,他當年首創「割圓法」第一個將圓周率後的小數位確定到了後7位數。
  • 圓周率是個無理數,已經計算到了31萬億位,繼續計算有何意義?
    對於中國的學生來說,從幼兒園開始就會接觸數學,小學主要學習運算,對幾何圖形也有涉獵。圓形無疑是幾何圖形中避不開的,它的性質和其他圖形有明顯差別,因為有圓周率的存在。幾乎所有和圓形有關的問題,都離不開圓周率。和自然底數一樣,圓周率也是數學界最出名的數字之一,它是個無理數,用符號π表示。
  • 如果圓周率真被算盡,後果會很嚴重?牛頓的棺材板這次真壓不住了
    如果圓周率真被算盡,後果會很嚴重嗎?牛頓的棺材板這次壓不住了「知識是兩面的,不僅在於對真的肯定,也在於對假的否定。——查爾斯·科爾頓眾所周知,圓周率的數學符號是π,就連小學生也都知道,一個圓的周長是2πr,一個圓的面積是πr的平方。
  • 圓周率已經算到10萬億位了,繼續算下去有什麼意義?
    可就是這樣一個數,卻掀起了人類對它的計算狂潮,超級計算機已經將它算到10萬億位了,許多人也把背誦圓周率當成是一種特長,但既然已經知道它是無限不循環,計算圓周率有什麼意義呢?計算機領域的應用圓周率π在計算機領域是一把標尺,用於檢驗計算機性能。
  • 圓周率是如何計算的?祖衝之的『綴術』居然失傳了
    圓周率π是一個十分重要的數,也是一個很神奇的數。從古希臘時代開始,由於科學研究和工程技術的需要,圓周率的計算就一直沒有停止過。直到今天,圓周率依然是檢驗計算機計算能力的方法之一。日本某個無聊的出版社居然出了一本一百萬位的圓周率的書《円周率1000000桁表》,全書只有一個數字:π。你知道人們最開始是如何計算圓周率的嗎?
  • Python開發簡單爬蟲【學習資料總結】
    開發爬蟲步驟 python語言基礎:(帶你熟悉python語言的特性,學會使用python開發環境,使用python開發一些簡單的案例)
  • 【圓周率日】你還記得π嗎?
    今天是圓周率日你還記得π嗎?記者在淮安街頭進行了街採聽聽淮安的小大哥、小大姐們都怎麼說▼▼▼關於π,你了解多少呢?π≈3.141592653589793238462643383279502884197169399……  圓周率(Pi)是圓的周長與直徑的比值,一般用希臘字母π表示,是一個在數學及物理學中普遍存在的數學常數。π也等於圓形之面積與半徑平方之比,是精確計算圓周長、圓面積、球體積等幾何形狀的關鍵值。
  • Python學習路線資料分享
    為了方便大家學習,我在這裡為大家準備好了2020最新的學習路線和資料。7.怎樣學習Python才能成為高手?8.Python 3和Python 2的區別9.Python 2.x和Python 3.x,初學者應如何選擇?10.如何將Python 2.x代碼自動轉換成Python3.x代碼?