![Python数据科学零基础一本通](https://wfqqreader-1252317822.image.myqcloud.com/cover/273/31904273/b_31904273.jpg)
第2章 认识变量与基本数学运算
本章摘要
2-1 用Python做计算
2-2 认识变量
2-3 认识程序的意义
2-4 认识注释的意义
2-5 Python变量与其他程序语言的差异
2-6 变量的命名原则
2-7 基本数学运算
2-8 指派运算符
2-9 Python等号的多重指定使用
2-10 删除变量
2-11 Python的断行
2-12 专题——复利计算/计算圆面积与圆周长
本章将从基本数学运算开始,一步一步讲解变量的使用与命名,接着介绍Python的算术运算。
2-1 用Python做计算
假设读者到麦当劳打工,一小时可以获得120元,如果想计算一天工作8小时,可以获得多少工资,可以用计算器执行120×8,然后得到执行结果。在Python Shell中,可以使用下列方式计算。
![](https://epubservercos.yuewen.com/371221/17274856804199906/epubprivate/OEBPS/Images/Figure-P24_19332.jpg?sign=1739302079-AO58PXzO0gHDEa9mWef9EgVhFlXUzxlY-0-549da5419ceb71facc2bf65ebb00213a)
如果一年实际工作天数是300天,可以用下列方式计算一年所得。
![](https://epubservercos.yuewen.com/371221/17274856804199906/epubprivate/OEBPS/Images/Figure-P24_19335.jpg?sign=1739302079-88rj5jYR98zPofGplu4rPySGlVBYZnuQ-0-2502f1308eb9b68cc9bf39232b4f4256)
如果读者一个月的花费是9000元,可以用下列方式计算一年可以存储多少钱。
![](https://epubservercos.yuewen.com/371221/17274856804199906/epubprivate/OEBPS/Images/Figure-P24_19338.jpg?sign=1739302079-MQ5jfd0eTUnHqyjQVnDPkyDm5HasiNX0-0-45fe271b0227ec19f2e596ef2d93a4e9)
上述先计算一年的花费,再用一年的收入减去一年的花费,可以得到所存储的金额。本章将一步一步推导应如何以程序思想,处理一般的运算问题。
2-2 认识变量
2-2-1 基本概念
变量是一个暂时存储数据的地方,对于2-1节的内容而言,如果时薪从120元调整到125元,想要重新计算一年可以存储多少钱,将发现所有的计算需要重新开始。为了解决这个问题,可以考虑将时薪设为一个变量,未来如果调整薪资,直接更改变量内容即可。
在Python中可以用“=”设置变量的内容,在这个实例中,建立了一个变量x,然后用下列方式设置时薪。
![](https://epubservercos.yuewen.com/371221/17274856804199906/epubprivate/OEBPS/Images/Figure-P24_19344.jpg?sign=1739302079-megXiv08XC9f99RYQTam4i1XpoM0AcKq-0-8b195e5ab8b3afd738c04ed5619b18b5)
如果想要用Python列出时薪,可以使用print( )函数。
![](https://epubservercos.yuewen.com/371221/17274856804199906/epubprivate/OEBPS/Images/Figure-P24_19347.jpg?sign=1739302079-KtqPK8ji27gP54r4Vpt6LnKUXtuP8yaP-0-3397bc8aaf21ea6b01e1e4210183a601)
如果时薪从120元调整到125元,那么可以用下列方式表达。
![](https://epubservercos.yuewen.com/371221/17274856804199906/epubprivate/OEBPS/Images/Figure-P25_19807.jpg?sign=1739302079-VPdgN769OEAz6dyLFw1KsjENMmMRHx7J-0-5f7a39c3cb0e6f9ba82fc4ca8b305bbc)
注 在Python Shell环境,也可以直接输入变量名称,即可获得执行结果。
![](https://epubservercos.yuewen.com/371221/17274856804199906/epubprivate/OEBPS/Images/Figure-P25_19811.jpg?sign=1739302079-l7n1sDTH4GPJX8mueCbTbuTSuBVtEeGK-0-b7f0c9fd6292be30f89e78b18dca9c58)
一个程序中是可以使用多个变量的,如果想计算一天工作8小时,一年工作300天,可以赚多少钱,假设用变量y表示一年工作所赚的钱,可以用下列方式计算。
![](https://epubservercos.yuewen.com/371221/17274856804199906/epubprivate/OEBPS/Images/Figure-P25_19814.jpg?sign=1739302079-C05Q0IufCaxxRhOZ89ghZEWbs3TwA8Yk-0-65d02e5350368b413a498db5349201db)
如果每个月花费是9000元,使用变量z表示每个月的花费,可以用下列方式计算每年的花费,使用a表示每年的花费。
![](https://epubservercos.yuewen.com/371221/17274856804199906/epubprivate/OEBPS/Images/Figure-P25_19817.jpg?sign=1739302079-lPhbJ5s82DY1B5Una7zPxuJJJqe4z1Sj-0-2c4545b13dd6f9366e8afce4bfb9eb05)
如果想计算每年可以存储多少钱,使用b表示每年所存储的钱,可以使用下列方式计算。
![](https://epubservercos.yuewen.com/371221/17274856804199906/epubprivate/OEBPS/Images/Figure-P25_19820.jpg?sign=1739302079-wBsZJW91GYiLp4Xi78537cg9R77AbEwJ-0-99fb886c7c8a97d2fad410ccab460f70)
上述语句顺利地使用Python Shell计算了每年可以存储多少钱,可是上述使用Python Shell做运算潜藏的最大问题是,只要过了一段时间,我们可能忘记当初所有设置的变量是代表什么意义。因此在设计程序时,如果可以为变量取个有意义的名称,未来看到程序时,可以比较容易记得。下列是笔者重新设计的变量名称。
时薪:hourly_salary,用此变量代替x,即每小时的薪资。
年薪:annual_salary,用此变量代替y,即一年工作所赚的钱。
月支出:monthly_fee,用此变量代替z,即每个月的花费。
年支出:annual_fee,用此变量代替a,即每年的花费。
年存储:annual_savings,用此变量代替b,即每年所存储的钱。
如果现在使用上述变量重新设计程序,可以得到下列结果。
![](https://epubservercos.yuewen.com/371221/17274856804199906/epubprivate/OEBPS/Images/Figure-P26_20251.jpg?sign=1739302079-iqeD0oTtecRmOB2LwT4lag3ZNqpezola-0-60f40f0455ce189015ed2ca0995b1cf9)
相信经过上述说明,读者应该了解变量的基本意义了。
2-2-2 认识变量的地址
Python是一种动态语言,它处理变量的过程与一般静态语言不同。对于静态语言而言,例如C、C++,当声明变量时内存就会预留空间存储此变量的内容,例如,若声明与定义x=10, y=10时,内存内容如下方左图所示。
![](https://epubservercos.yuewen.com/371221/17274856804199906/epubprivate/OEBPS/Images/Figure-P26_20256.jpg?sign=1739302079-WSB738aMhJmg7hEkNjOrmP1BtSZcfBSc-0-455ccbdb8e60ee223cf41a18b5e264cc)
对于Python而言,变量所使用的是参照(reference)地址的观念,设置一个变量x等于10时,Python会在内存某个地址存储10,此时我们建立的变量x好像是一个标志(tags),标志内容是存储10的内存地址。如果有另一个变量y也是10,则变量y的标志内容也是存储10的内存地址,如上方右图所示。
使用Python可以使用id( )函数获得变量的地址,可参考下列语法。
实例:列出变量的地址,相同内容的变量会有相同的地址。
![](https://epubservercos.yuewen.com/371221/17274856804199906/epubprivate/OEBPS/Images/Figure-P26_20259.jpg?sign=1739302079-7jyKeisuefgNfZaZKBCKnF5rdJwmciqr-0-05fe5264546712f0e317e3992a87dfda)
2-3 认识程序的意义
延续上一节的实例,如果时薪改变、工作天数改变或每个月的花费改变,所有输入与运算都要重新开始,而且每次都要重新输入程序代码,这是一件很费劲的事,同时很可能会输入错误,为了解决这个问题,可以使用Python Shell打开一个文件,将上述运算存储在文件内,这个文件就是所谓的程序。未来有需要时,再打开重新运算即可。
程序实例ch2_1.py:使用程序计算每年可以存储多少钱,下面是整个程序设计。
![](https://epubservercos.yuewen.com/371221/17274856804199906/epubprivate/OEBPS/Images/Figure-P27_20708.jpg?sign=1739302079-mGqEPYuoPgZDpDep8CyHYXyRDic39Yhu-0-d5b9db7c165a2fb52e0403572bb8ebc8)
执行结果
![](https://epubservercos.yuewen.com/371221/17274856804199906/epubprivate/OEBPS/Images/Figure-P27_20711.jpg?sign=1739302079-2WEndrMOBYVxPYaR5x5Rtxc1mRD2S3Qn-0-b57cf6ee8304657b7a14ac7ebebc8154)
未来时薪改变、工作天数改变或每个月的花费改变时,只要适度修改变量内容,就可以获得正确的执行结果。
2-4 认识注释的意义
程序ch2_1.py中尽管已经为变量设置了有意义的名称,但时间一久,常常还是会忘记各个指令的内涵。所以笔者建议,设计程序时,应适度地为程序代码加上注释。在1-10节已经讲解了注释的方法,下面将直接以实例说明。
程序实例ch2_2.py:重新设计程序ch2_1.py,为程序代码加上注释。
![](https://epubservercos.yuewen.com/371221/17274856804199906/epubprivate/OEBPS/Images/Figure-P27_20716.jpg?sign=1739302079-9HCBdek9kYiuheUOoj1ocv1FaBEwreGp-0-f93efe4c6eb908feda67cda8b45e8e7e)
执行结果 与ch2_1.py相同。
相信经过上述注释后,即使再过10年,只要一看到程序也可轻松了解整个程序的意义。
2-5 Python变量与其他程序语言的差异
许多程序语言变量在使用前需要先声明,Python对于变量的使用则是可以在需要时,再直接设置使用。有些程序语言在声明变量时,需要设置变量的数据类型,Python则不需要设置,它会针对变量值的内容自行设置数据类型。
2-6 变量的命名原则
Python对于变量的命名,在使用时有一些规则要遵守,否则会造成程序错误。
(1)必须由英文字母、_(下画线)或中文开头,建议使用英文字母。
(2)变量名称只能由英文字母、数字、_(下画线)或中文组成。
(3)英文字母大小写是敏感的,例如,Name与name被视为不同变量名称。
(4)Python系统保留字(或称关键词)不可当作变量名称,会让程序产生错误,Python内建函数名称不建议当作变量名称。
注:虽然变量名称可以用中文,不过笔者不建议使用中文,将来可能会有兼容性的问题。
下列是不可当作变量名称的Python系统保留字。
![](https://epubservercos.yuewen.com/371221/17274856804199906/epubprivate/OEBPS/Images/Figure-T28_192274.jpg?sign=1739302079-58zL5NFbRRKuWUV1OMnRBfCi50nbiPHU-0-4fd68310f39eee983360393333f21d18)
下列是不建议当作变量名称的Python系统内建函数,若是不小心将系统内建函数名称当作变量,程序本身不会错误,但是原函数功能会丧失。
![](https://epubservercos.yuewen.com/371221/17274856804199906/epubprivate/OEBPS/Images/Figure-T28_192275.jpg?sign=1739302079-5CO3196M2hZiwef5Ny6PGEDbO3xSJHQ3-0-9c521c36c2a59e3f89658b49d86a934a)
实例1:下列是一些不合法的变量名称。
![](https://epubservercos.yuewen.com/371221/17274856804199906/epubprivate/OEBPS/Images/Figure-P28_192277.jpg?sign=1739302079-oeuwqmq5WECtOSrX2CKZbhHNKJ2ZVK5c-0-bd9e07b8fe2a9cc1e558a6655a5941da)
实例2:下列是一些合法的变量名称。
SUM _fg x5 总和
实例3:下列3个代表不同的变量。
SUM Sum sum
2-7 基本数学运算
2-7-1 四则运算
Python的四则运算是指加( + ) 、减( - ) 、乘( * )和除( / )。
实例1:下列是加法与减法运算实例。
![](https://epubservercos.yuewen.com/371221/17274856804199906/epubprivate/OEBPS/Images/Figure-P29_22193.jpg?sign=1739302079-hiYscyneOuhNdIk3mIqMh1AaScxxDBXI-0-e9c520946e2623e1508bc35776345af7)
实例2:乘法与除法运算实例。
![](https://epubservercos.yuewen.com/371221/17274856804199906/epubprivate/OEBPS/Images/Figure-P29_22196.jpg?sign=1739302079-0bOmP6IhGvR8lcMrC2G2jzfqd2ovQyeY-0-9e246a85cfa5f247c4ddb6ef2b88ed3c)
2-7-2 余数和整除
余数(mod)所使用的符号是“%”,可计算出除法运算中的余数。整除所使用的符号是“//”,是指除法运算中只保留整数部分。
实例:余数和整除运算实例。
![](https://epubservercos.yuewen.com/371221/17274856804199906/epubprivate/OEBPS/Images/Figure-P29_22200.jpg?sign=1739302079-kvyanE31HeCkOY5A06lg0t0gH5BZX0l8-0-b217339d5cc8f96a52cff84b254ede3d)
其实在程序设计中求余数是非常有用的,例如,如果要判断数字是奇数或偶数可以用%,例如"num % 2",如果num是奇数,所得结果是1;如果num是偶数,所得结果是0。当读者学会更多指令后,笔者会做更多的应用说明。
2-7-3 次方
次方的符号是“**”。
实例:平方、次方的运算实例。
![](https://epubservercos.yuewen.com/371221/17274856804199906/epubprivate/OEBPS/Images/Figure-P30_3706.jpg?sign=1739302079-8oM9ADUGC2Ht8vHsnCEpjt5FLnij38Dw-0-f0d89251dc620a2d52860f9245fc6cda)
2-7-4 Python语言控制运算的优先级
Python语言碰上计算式同时出现在一个指令内时,除了括号“( )”内部运算最优先外,其余计算优先次序如下。
(1)次方;
(2)乘法、除法、求余数(%)、求整数(//),彼此依照出现顺序运算;
(3)加法、减法,彼此依照出现顺序运算。
实例:Python语言控制运算的优先级的应用。
![](https://epubservercos.yuewen.com/371221/17274856804199906/epubprivate/OEBPS/Images/Figure-P30_3710.jpg?sign=1739302079-Jwolfvu4BaUDjBzalPqehF2TE2H9W2lb-0-6d015f430a82a76b9b2a7d5aae1b956a)
2-8 指派运算符
常见的指派运算符如下。
![](https://epubservercos.yuewen.com/371221/17274856804199906/epubprivate/OEBPS/Images/Figure-T30_192291.jpg?sign=1739302079-WIie2wXCJCF0oRN9iKCXLnHVrLSY1uZL-0-57ce56d1d68172e611aa716e3ce08a8b)
实例:指派运算符的实例说明。
![](https://epubservercos.yuewen.com/371221/17274856804199906/epubprivate/OEBPS/Images/Figure-P31_4282.jpg?sign=1739302079-8BugiL0fWld0mWgRSN9ImOiD40dFx9Tn-0-5932ce127175aec465c6cfc66e9e3534)
2-9 Python等号的多重指定使用
使用Python时,可以一次设置多个变量等于某一数值。
实例1:设置多个变量等于某一数值的应用。
![](https://epubservercos.yuewen.com/371221/17274856804199906/epubprivate/OEBPS/Images/Figure-P31_4286.jpg?sign=1739302079-GNspqmKWqKOL1HmR43yWhbh1LYvNGOJD-0-9e60b527bb56f612be04d643a33be402)
Python也允许多个变量同时指定不同的数值。
实例2:设置多个变量,每个变量有不同值。
![](https://epubservercos.yuewen.com/371221/17274856804199906/epubprivate/OEBPS/Images/Figure-P31_4289.jpg?sign=1739302079-I62NLvORiadUHk6DtXKkuUwHqFCLS0ax-0-c68ec0619cedfe186aa8cdc1a5dee38c)
当执行上述多重设置变量值后,甚至可以执行更改变量内容。
实例3:将两个变量内容交换。
![](https://epubservercos.yuewen.com/371221/17274856804199906/epubprivate/OEBPS/Images/Figure-P31_4292.jpg?sign=1739302079-VAj0VvAfP6GLKjDFxqaCFIenyUJ7foh4-0-55a5741f07c38ae0e06046decff0c57d)
上述原先x, y分别设为10, 20,但是经过多重设置后变为20, 10。其实可以使用多重指定更灵活地应用Python,在2-7-2节有求商和余数的实例,可以使用divmod( )函数一次获得商和余数,可参考下列实例。
![](https://epubservercos.yuewen.com/371221/17274856804199906/epubprivate/OEBPS/Images/Figure-P32_4739.jpg?sign=1739302079-eHYqW5RIhkrIfK97CqkeYONSDiLIsOJ8-0-4df29c23ef22a701a7e782731b7825aa)
上述使用了divmod(9,5)方法一次获得了元组值(1,4),第8章会介绍元组,然后使用多重指定将此元组(1,4)分别设置给x和y变量。
2-10 删除变量
程序设计时,如果某个变量不再需要,可以使用del指令将此变量删除,相当于可以收回原变量所占的内存空间,以节省内存空间。删除变量的格式如下:
del 变量名称
实例:验证变量名称回收后,将无法再使用。此例中尝试输出已删除的变量,然后程序出现错误消息。
![](https://epubservercos.yuewen.com/371221/17274856804199906/epubprivate/OEBPS/Images/Figure-P32_4744.jpg?sign=1739302079-VUpcfWpQGHZTY3hxLChfImoKLZoHadW2-0-55fa9959be428e2767c3297af2d4b4c1)
2-11 Python的断行
2-11-1 一行有多个语句
在Python中允许一行有多个,彼此用“;”隔开即可,尽管Python有提供此功能,不过笔者不鼓励如此撰写程序代码。
程序实例ch2_3.py:一行有多个语句的实例。
![](https://epubservercos.yuewen.com/371221/17274856804199906/epubprivate/OEBPS/Images/Figure-P33_5228.jpg?sign=1739302079-DpGGS7DPgh8VXJmVogzpNtxj1ffjlX6z-0-76e110ffbcbd6ffe93d22d23956c16b6)
执行结果
![](https://epubservercos.yuewen.com/371221/17274856804199906/epubprivate/OEBPS/Images/Figure-P33_5231.jpg?sign=1739302079-MgAB1yHpXxXNzMLHqBrmGlEbJuMH1MOn-0-e5c267f8b1775e2039f5fbbced98f315)
2-11-2 将一个语句分成多行
在设计大型程序时,常会碰上一个语句很长,需要分成两行或更多行撰写,此时可以在语句后面加上“\”符号,Python解释器会将下一行的语句视为这一行的语句。特别注意,在“\”符号右边不可以加上任何符号或文字,即使是注释符号也是不允许的。
另外,也可以在语句内使用小括号,如果使用小括号,就可以在语句右边加上注释符号。
程序实例ch2_4.py:将一个语句分成多行的应用。
![](https://epubservercos.yuewen.com/371221/17274856804199906/epubprivate/OEBPS/Images/Figure-P33_5235.jpg?sign=1739302079-6tEN8f6ukt23klmUK78RzccXjzPS75oH-0-acac282a8911b2fb32b1c19fc1fa332b)
执行结果
![](https://epubservercos.yuewen.com/371221/17274856804199906/epubprivate/OEBPS/Images/Figure-P33_5238.jpg?sign=1739302079-fafdTgQbxgVYE79lFjhpAzGfKmEIdMKP-0-ba159af4f726f19da757215eb8ebd04d)
2-12 专题——复利计算/计算圆面积与圆周长
2-12-1 银行存款复利的计算
程序实例ch2_5.py:银行存款复利的计算。假设目前银行年利率是1.5%,复利公式如下:
本金和 = 本金×(1 + 年利率)n # n是年
现有一笔5万元存款,请计算5年后的本金和。
![](https://epubservercos.yuewen.com/371221/17274856804199906/epubprivate/OEBPS/Images/Figure-P34_5721.jpg?sign=1739302079-ugrvvEgnglbgzMF199EEEYOfcHaU6zsT-0-95d7badbe724b367b83ac6aa0350b196)
执行结果
![](https://epubservercos.yuewen.com/371221/17274856804199906/epubprivate/OEBPS/Images/Figure-P34_5724.jpg?sign=1739302079-YbzgJYWbS8cCuQc5SXbmoHR7CwCFSKb6-0-83d11c10611ab624240360b3a3a4fd63)
2-12-2 计算圆面积与周长
程序实例ch2_6.py:假设圆半径是5cm,圆面积与圆周长计算公式分别如下:
![](https://epubservercos.yuewen.com/371221/17274856804199906/epubprivate/OEBPS/Images/Figure-P34_192303.jpg?sign=1739302079-byNhvdRbBi9gCy4kCPRZmxMb617MhuDm-0-f01961dc7ed6989c073b30fa7a71fa5d)
执行结果
![](https://epubservercos.yuewen.com/371221/17274856804199906/epubprivate/OEBPS/Images/Figure-P34_5731.jpg?sign=1739302079-aWvf0Dw1tquMHT5FmHYg1dOmE1yozwVO-0-73a4fccd0978a77a4e19fb411d71a867)
在程序语言的设计中,有一个概念是常量(named constant),这种常量是不可更改内容的。上述计算圆面积或圆周长所使用的PI是圆周率,这是一个固定的值,由于Python语言没有提供此常量(names constant)的语法,上述程序笔者用大写PI当作常量的变量,这是一种习惯,未来读者可以用这种方式处理固定内容的变量。
习题
1. 请重新设计c h2_1.py,将打工时薪改为150元。(2-1~2-3节)
![](https://epubservercos.yuewen.com/371221/17274856804199906/epubprivate/OEBPS/Images/Figure-P34_5736.jpg?sign=1739302079-1S1OTrqPzAykfnnBuSEFnbjAF1tViF4V-0-a066df7e469071786133f7d073a0b7a4)
2. 重新设计ch2_5.py,假设是单利率,5年期间可以领多少利息?(2-5~2-7节)
![](https://epubservercos.yuewen.com/371221/17274856804199906/epubprivate/OEBPS/Images/Figure-P35_22645.jpg?sign=1739302079-eSUKZF6o45RnddNwD8V9DAuMJBvahnYT-0-b9d65622d9d95512007770ba0a908d99)
3. 重新设计ch2_5.py,假设期初本金是100 000元,年利率是2%,这是复利计算,请问10年后本金总和是多少?(2-5~2-12节)
![](https://epubservercos.yuewen.com/371221/17274856804199906/epubprivate/OEBPS/Images/Figure-P35_22648.jpg?sign=1739302079-48uwWQPdVBlk1kHvfS7mcqlEVHAlakC1-0-d9c4fda86325268b55e39d0caf1b3f20)
4. 一个幼儿园买了100个苹果给学生当营养午餐,学生人数是23人,每个人午餐可以吃一个,请问这些苹果可以吃几天?第几天苹果会不够供应?同时列出缺少了几个。(2-5~2-12节)
![](https://epubservercos.yuewen.com/371221/17274856804199906/epubprivate/OEBPS/Images/Figure-P35_22651.jpg?sign=1739302079-Q42GiBQDRCrd77uIyGhGT9ZdDZvyoaRC-0-95e9509df8d1f07a4237eb1e70d845ef)
5. 地球和月球的距离是384 400千米,假设火箭飞行速度是每分钟400千米,请问从地球飞到月球需要多少分钟?(2-5~2-12节)
![](https://epubservercos.yuewen.com/371221/17274856804199906/epubprivate/OEBPS/Images/Figure-P35_22654.jpg?sign=1739302079-wn77sUWWeZTd2jKBoWgoINWH38zLAiyI-0-e9f1d4b1422a95d596546d84a7ea0f81)
6. 假设圆柱半径是20厘米,高度是30厘米,请计算此圆柱的体积。圆柱体积计算公式是:圆面积×圆柱高度。(2-5~2-12节)
![](https://epubservercos.yuewen.com/371221/17274856804199906/epubprivate/OEBPS/Images/Figure-P35_22657.jpg?sign=1739302079-H9AIv4pZjnnFvyFcoxTdblanj9tj1zGz-0-e019765dce73e8be0490960be22c9ee7)
7. 圆周率PI是一个数学常数,常常使用希腊字母表示,它的物理意义是圆的周长和直径的比率。历史上第一个无穷级数公式称为莱布尼茨公式,它的计算公式如下:(2-5~2-12节)
![](https://epubservercos.yuewen.com/371221/17274856804199906/epubprivate/OEBPS/Images/Figure-P35_192304.jpg?sign=1739302079-RbH166lWltPwmFVvraRDmZwyjeplN1h8-0-98b32e8142579d286f85834a3ab109ec)
请分别计算下列级数的执行结果。
(1)
(2)
(3)
注 上述级数如果要收敛到我们熟知的3.14159需要相当长的级数计算。
![](https://epubservercos.yuewen.com/371221/17274856804199906/epubprivate/OEBPS/Images/Figure-P36_23171.jpg?sign=1739302079-yEhD8J0UrmHwDv6pVH8Soub6JZwhRwBE-0-ca8911d8a5ad6bcd69088f346e50be00)
莱布尼茨(Leibniz,1646—1716)是德国人,在世界数学舞台上占有一席之地,他本人另一个职业是律师,许多数学公式都是他在各大城市通勤期间完成的。数学历史上有一个两派说法的无解公案,有人认为他是微积分的发明人,也有人认为发明人是牛顿(Newton)。
8. 尼拉卡莎级数也是应用于计算圆周率PI的级数,此级数收敛的速度比莱布尼茨级数更好,更适合于用来计算PI,它的计算公式如下:
![](https://epubservercos.yuewen.com/371221/17274856804199906/epubprivate/OEBPS/Images/Figure-P36_192311.jpg?sign=1739302079-1ozOstTR8fCqsaXBqc4JqTE9kdKqwyMD-0-7b77d273f29a95acc2ae3317a5f85828)
请分别计算下列级数的执行结果。
(a)
(b)
![](https://epubservercos.yuewen.com/371221/17274856804199906/epubprivate/OEBPS/Images/Figure-P36_23210.jpg?sign=1739302079-pKXzFgFlvFvn2CjWkOZQOKrV8VahYfUb-0-9faf5276bc6415d0812f0859d6f0d35a)