S4E15 Python 數(shù)列與Pi 的探究(上)
本節(jié)的 python + Math ,帶大家來算算數(shù)列與用數(shù)列來探索 pi。在這單元將體現(xiàn)程式“重復(fù)運算”的特性,要使用數(shù)列就需要有抽象出“規(guī)律形式”的能力。而通過程序,就讓我們可以基于這些規(guī)則再來重構(gòu)出原本的數(shù)據(jù)。
在(上)這節(jié)將先從 Python 的 list 結(jié)構(gòu)來探索數(shù)列。

在(下)這節(jié)將介紹 for 回圈的使用,并觀察以下數(shù)列如何逼近 pi。

你將學(xué)會
語法
1.? 熟練 list 的用法:[2i+1 for i in range(1,n)]
2.? 熟練對 list 求和:sum([i for i in range(1,101) ])
3. 了解格式化輸出:"1/{0:5} = {1:9.7f}".format(i,1.0/i)
數(shù)學(xué)與思維
1. 能制造等差數(shù)列并求其和
2. 能觀察數(shù)列的關(guān)系,并寫出其表示式
使用指引說明
1. 若你是第一次使用,請先參考這以下文章來熟悉 Kesci 的界面
S4E01 Python入門:Kesci 平臺與 Python 基本語法。
S4E07 你可以幾次可以猜到答案?
2. 當(dāng)熟悉kesci基本操作后可打開如下鏈接,點選 Fork 進入學(xué)習(xí)
https://www.kesci.com/home/project/5df4ebc42823a10036abd20a
3. 關(guān)于本次課程的視頻內(nèi)容可點文末的閱讀原文,或從以下鏈接進入。
https://www.bilibili.com/video/av79295583

? ? ? ? ? ? ?
內(nèi)容摘要
0 前言與故事
筆者小時候的程式初體驗就是用類似 Excel 的 Lotus 來作些數(shù)列的探究。

當(dāng)時在研究以下數(shù)列,發(fā)覺好像會收斂到 1.718281828 還以為是個新的數(shù)學(xué)發(fā)現(xiàn)?,F(xiàn)在才知當(dāng)時太天真,但也欣賞當(dāng)時楽于探究的我。
? ? ? ? ? ?? ? ? ? ? ? ?

1. list 與數(shù)列
Python 對數(shù)列的處理很方便,主要就是用 list 的結(jié)構(gòu)來作記錄。我們可以對這數(shù)列作些取大、求總和、求平均等計算。

初步熟悉基本list的操作后,在這一小節(jié)將了解 Python 可用來做些格式化的輸出。

2. 利用 for 製造有規(guī)律數(shù)列
用 list 結(jié)構(gòu),可以記錄數(shù)列。但當(dāng)數(shù)列是個有規(guī)律結(jié)構(gòu)時,例如:[1,3,5,7,9,11,13,15],就可以用抽象的規(guī)則來表示,在 Python 中,上述數(shù)列就簡記為[2*k-1 for k in range(1,8)]。而[1,2,4,8,16,32,64]就可記為[2**k for k in range(0,7)]。

下節(jié)預(yù)告:
在此節(jié),我們了解 Python 存取數(shù)列的基本方式,但若數(shù)列的規(guī)則比較復(fù)雜,不適合用一個式子表示時,我們將通過 for 與遞回來拓展我們對數(shù)列的認(rèn)知。

參考資料
【Kesci】https://www.kesci.com/home/project/5df4ebc42823a10036abd20a
【Bili】https://www.bilibili.com/video/av79295583