S4E15 Python 数列与Pi 的探究(上)
本节的 python + Math ,带大家来算算数列与用数列来探索 pi。在这单元将体现程式“重复运算”的特性,要使用数列就需要有抽象出“规律形式”的能力。而通过程序,就让我们可以基于这些规则再来重构出原本的数据。
在(上)这节将先从 Python 的 list 结构来探索数列。

在(下)这节将介绍 for 回圈的使用,并观察以下数列如何逼近 pi。

你将学会
语法
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)
数学与思维
1. 能制造等差数列并求其和
2. 能观察数列的关系,并写出其表示式
使用指引说明
1. 若你是第一次使用,请先参考这以下文章来熟悉 Kesci 的界面
S4E01 Python入门:Kesci 平台与 Python 基本语法。
S4E07 你可以几次可以猜到答案?
2. 当熟悉kesci基本操作后可打开如下链接,点选 Fork 进入学习
https://www.kesci.com/home/project/5df4ebc42823a10036abd20a
3. 关于本次课程的视频内容可点文末的阅读原文,或从以下链接进入。
https://www.bilibili.com/video/av79295583

内容摘要
0 前言与故事
笔者小时候的程式初体验就是用类似 Excel 的 Lotus 来作些数列的探究。

当时在研究以下数列,发觉好像会收敛到 1.718281828 还以为是个新的数学发现。现在才知当时太天真,但也欣赏当时楽于探究的我。

1. list 与数列
Python 对数列的处理很方便,主要就是用 list 的结构来作记录。我们可以对这数列作些取大、求总和、求平均等计算。

初步熟悉基本list的操作后,在这一小节将了解 Python 可用来做些格式化的输出。

2. 利用 for 製造有规律数列
用 list 结构,可以记录数列。但当数列是个有规律结构时,例如:[1,3,5,7,9,11,13,15],就可以用抽象的规则来表示,在 Python 中,上述数列就简记为[2*k-1 for k in range(1,8)]。而[1,2,4,8,16,32,64]就可记为[2**k for k in range(0,7)]。

下節預告:
在此节,我们了解 Python 存取数列的基本方式,但若数列的规则比较复杂,不适合用一个式子表示时,我们将通过 for 与递回来拓展我们对数列的认知。

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