![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=1738956019-i1tR6mC5Nik1Ywq807eRsXD65jOwDCG2-0-38cd4d9f623e41d6e9b96bdd02445fc5)
如果一年实际工作天数是300天,可以用下列方式计算一年所得。
![](https://epubservercos.yuewen.com/371221/17274856804199906/epubprivate/OEBPS/Images/Figure-P24_19335.jpg?sign=1738956019-O3ohhoNyj2j7CPIV6csfyzCwem2hVoYA-0-32b7320fd0d625fec67ccb36a1ae1c2b)
如果读者一个月的花费是9000元,可以用下列方式计算一年可以存储多少钱。
![](https://epubservercos.yuewen.com/371221/17274856804199906/epubprivate/OEBPS/Images/Figure-P24_19338.jpg?sign=1738956019-6CKGTc00TDgxNqdwlSDrRb07FAOjHqP6-0-b4cc3c84dad665a199cbfcb5d44d141f)
上述先计算一年的花费,再用一年的收入减去一年的花费,可以得到所存储的金额。本章将一步一步推导应如何以程序思想,处理一般的运算问题。
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=1738956019-jJVeuwo3n67w2kb7eDP474amUBX7wb4q-0-3ae2915513015e3b7421c63e79361d7e)
如果想要用Python列出时薪,可以使用print( )函数。
![](https://epubservercos.yuewen.com/371221/17274856804199906/epubprivate/OEBPS/Images/Figure-P24_19347.jpg?sign=1738956019-D7NucJDUu84Rjcnf1zH9jainJcmkHu0U-0-f658577e7946cb895c2be3ec7bdff1d1)
如果时薪从120元调整到125元,那么可以用下列方式表达。
![](https://epubservercos.yuewen.com/371221/17274856804199906/epubprivate/OEBPS/Images/Figure-P25_19807.jpg?sign=1738956019-neAVamS32q87fF76UAdkV9gSVE8GjqBo-0-c9badc687b4ba6d0dc8d1b49f13cf21e)
注 在Python Shell环境,也可以直接输入变量名称,即可获得执行结果。
![](https://epubservercos.yuewen.com/371221/17274856804199906/epubprivate/OEBPS/Images/Figure-P25_19811.jpg?sign=1738956019-IAuv6tf9dihtrRCJLat9LY41YwPBfGhi-0-5de7d85c81e0f7535c335333bf2416aa)
一个程序中是可以使用多个变量的,如果想计算一天工作8小时,一年工作300天,可以赚多少钱,假设用变量y表示一年工作所赚的钱,可以用下列方式计算。
![](https://epubservercos.yuewen.com/371221/17274856804199906/epubprivate/OEBPS/Images/Figure-P25_19814.jpg?sign=1738956019-wziCkwpcXhwgdcwVG2CfAAKmjl2lYRKg-0-fbc631a5f07755e1e0a4a69c644457ee)
如果每个月花费是9000元,使用变量z表示每个月的花费,可以用下列方式计算每年的花费,使用a表示每年的花费。
![](https://epubservercos.yuewen.com/371221/17274856804199906/epubprivate/OEBPS/Images/Figure-P25_19817.jpg?sign=1738956019-AUKlsB4meWaMoOxfmOT2CdWrtouu9GDp-0-8534b2012fcad6bf2ef86de5b33bc739)
如果想计算每年可以存储多少钱,使用b表示每年所存储的钱,可以使用下列方式计算。
![](https://epubservercos.yuewen.com/371221/17274856804199906/epubprivate/OEBPS/Images/Figure-P25_19820.jpg?sign=1738956019-p3LCDqaV8NxINL3yjSfJQcUxE99xPbt9-0-1ed8260685fdbdb07b62c50aa99cbee3)
上述语句顺利地使用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=1738956019-A9utZpjlfwj3gu5kpjfC9XkNrxsJ6HGj-0-c59746760068e4b9aa69c8f3ad507174)
相信经过上述说明,读者应该了解变量的基本意义了。
2-2-2 认识变量的地址
Python是一种动态语言,它处理变量的过程与一般静态语言不同。对于静态语言而言,例如C、C++,当声明变量时内存就会预留空间存储此变量的内容,例如,若声明与定义x=10, y=10时,内存内容如下方左图所示。
![](https://epubservercos.yuewen.com/371221/17274856804199906/epubprivate/OEBPS/Images/Figure-P26_20256.jpg?sign=1738956019-r3Fc4jBo7fz2sgdwNZaMXks6AFBxQuT2-0-00fe38e27033e23ee343724cabdaec67)
对于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=1738956019-rXdnaeMo7KMCnmSjO2eVpJZvuB7gFgRW-0-178f4f66298a9e6a0ff8541f6d00e352)
2-3 认识程序的意义
延续上一节的实例,如果时薪改变、工作天数改变或每个月的花费改变,所有输入与运算都要重新开始,而且每次都要重新输入程序代码,这是一件很费劲的事,同时很可能会输入错误,为了解决这个问题,可以使用Python Shell打开一个文件,将上述运算存储在文件内,这个文件就是所谓的程序。未来有需要时,再打开重新运算即可。
程序实例ch2_1.py:使用程序计算每年可以存储多少钱,下面是整个程序设计。
![](https://epubservercos.yuewen.com/371221/17274856804199906/epubprivate/OEBPS/Images/Figure-P27_20708.jpg?sign=1738956019-YWGmb24XVvBfgX5IzRHw8yu5r7gRi4G2-0-b528a03d3de2bda6ddfa60f8d688e601)
执行结果
![](https://epubservercos.yuewen.com/371221/17274856804199906/epubprivate/OEBPS/Images/Figure-P27_20711.jpg?sign=1738956019-KC4Om2G2N1ymfuDgAsOeVP7krfrfLTcl-0-ae56a8185d80073a57c1179806cc1543)
未来时薪改变、工作天数改变或每个月的花费改变时,只要适度修改变量内容,就可以获得正确的执行结果。
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=1738956019-wpaiiXVBJ4dovnPb3kYONDXK9XtlZ4qQ-0-c95945f9974b2d30492fe24e622effee)
执行结果 与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=1738956019-QahfaLNggDYcL1zO83ffLiOo2rEd19Zs-0-3f8634ce41e39dee8c4587213570dab6)
下列是不建议当作变量名称的Python系统内建函数,若是不小心将系统内建函数名称当作变量,程序本身不会错误,但是原函数功能会丧失。
![](https://epubservercos.yuewen.com/371221/17274856804199906/epubprivate/OEBPS/Images/Figure-T28_192275.jpg?sign=1738956019-MAyZ9nMF5xl9DpGtORQz3GMrMFLeipWk-0-3db7b242d84b44a7406bccb0defd9589)
实例1:下列是一些不合法的变量名称。
![](https://epubservercos.yuewen.com/371221/17274856804199906/epubprivate/OEBPS/Images/Figure-P28_192277.jpg?sign=1738956019-6zeU4YEtnLxwXsmguya7wWIXRdSaZZXh-0-05a596f5128da436e6a45901e3bfaa62)
实例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=1738956019-CBayxqFWYQC5fJ4zru8us7KCnP5YD0FA-0-6bb281ad17556d1eda34ffedaef6f77b)
实例2:乘法与除法运算实例。
![](https://epubservercos.yuewen.com/371221/17274856804199906/epubprivate/OEBPS/Images/Figure-P29_22196.jpg?sign=1738956019-9XmRZV4bdwzp1VFo92l28mqEoVw0Rryc-0-3aa31e25f2c52c48bf39ad5dbbd6938e)
2-7-2 余数和整除
余数(mod)所使用的符号是“%”,可计算出除法运算中的余数。整除所使用的符号是“//”,是指除法运算中只保留整数部分。
实例:余数和整除运算实例。
![](https://epubservercos.yuewen.com/371221/17274856804199906/epubprivate/OEBPS/Images/Figure-P29_22200.jpg?sign=1738956019-saTC4IGMLlLYBB6dH6zCsaiL914tvVmE-0-41120e3ad7ec8d3e17b87f4a3dfc99b7)
其实在程序设计中求余数是非常有用的,例如,如果要判断数字是奇数或偶数可以用%,例如"num % 2",如果num是奇数,所得结果是1;如果num是偶数,所得结果是0。当读者学会更多指令后,笔者会做更多的应用说明。
2-7-3 次方
次方的符号是“**”。
实例:平方、次方的运算实例。
![](https://epubservercos.yuewen.com/371221/17274856804199906/epubprivate/OEBPS/Images/Figure-P30_3706.jpg?sign=1738956019-5coVtlrtzSkjfAuv34ooCPtbb3ktyttK-0-0de31ca791d1ecc087f4e72af1241ac2)
2-7-4 Python语言控制运算的优先级
Python语言碰上计算式同时出现在一个指令内时,除了括号“( )”内部运算最优先外,其余计算优先次序如下。
(1)次方;
(2)乘法、除法、求余数(%)、求整数(//),彼此依照出现顺序运算;
(3)加法、减法,彼此依照出现顺序运算。
实例:Python语言控制运算的优先级的应用。
![](https://epubservercos.yuewen.com/371221/17274856804199906/epubprivate/OEBPS/Images/Figure-P30_3710.jpg?sign=1738956019-yv6Rx5A8zfUyh2dt9hIwwjxsovbw01cT-0-04d69c03da655f7321f100de6a594d53)
2-8 指派运算符
常见的指派运算符如下。
![](https://epubservercos.yuewen.com/371221/17274856804199906/epubprivate/OEBPS/Images/Figure-T30_192291.jpg?sign=1738956019-Joq6zggBwrDZKH8kTkwd4hHKLRVukVkG-0-986ddf7cea35dd1337e908677e47f3b0)
实例:指派运算符的实例说明。
![](https://epubservercos.yuewen.com/371221/17274856804199906/epubprivate/OEBPS/Images/Figure-P31_4282.jpg?sign=1738956019-u6z3MK5aydci0AtyOudx1hnc2KkwIDQb-0-3b9ec2855a6453387852c373feed26d0)
2-9 Python等号的多重指定使用
使用Python时,可以一次设置多个变量等于某一数值。
实例1:设置多个变量等于某一数值的应用。
![](https://epubservercos.yuewen.com/371221/17274856804199906/epubprivate/OEBPS/Images/Figure-P31_4286.jpg?sign=1738956019-mQn9ejPFVC523CN8jWZ9iofpkYmSUJSG-0-516d59e35845b8237e9b04bb774efa61)
Python也允许多个变量同时指定不同的数值。
实例2:设置多个变量,每个变量有不同值。
![](https://epubservercos.yuewen.com/371221/17274856804199906/epubprivate/OEBPS/Images/Figure-P31_4289.jpg?sign=1738956019-fgq1Fv6XBr3wchdASKKhp0i1br3IN8kb-0-b6bbc61e8f31f3edf5e5dae8d423d478)
当执行上述多重设置变量值后,甚至可以执行更改变量内容。
实例3:将两个变量内容交换。
![](https://epubservercos.yuewen.com/371221/17274856804199906/epubprivate/OEBPS/Images/Figure-P31_4292.jpg?sign=1738956019-RJsa1zsBFdf66d3MCHnTzv4F35jMCAuI-0-6b61dad8151561bcd7fc6bb9d9a75f67)
上述原先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=1738956019-cxyYizEOdifAyuTgCvBbspEbESKyFGUe-0-0eff562e09c46445a0ab2c6c4bd867ec)
上述使用了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=1738956019-0mGfFMsyGgeQXaxNgaELMnqZxX8tU6Hf-0-80317be93b361fa0fb09a893852cddb0)
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=1738956019-A74MdyHFaA0PafMnqkqm0aNaRiJyESK7-0-cbad155b93dabb52623b472adbabc4a8)
执行结果
![](https://epubservercos.yuewen.com/371221/17274856804199906/epubprivate/OEBPS/Images/Figure-P33_5231.jpg?sign=1738956019-ddP8MHVfzX53sIfZhIvDgWiLc3rIK0wE-0-b82f1cbc5f9d0ef850f29e57c0b290f6)
2-11-2 将一个语句分成多行
在设计大型程序时,常会碰上一个语句很长,需要分成两行或更多行撰写,此时可以在语句后面加上“\”符号,Python解释器会将下一行的语句视为这一行的语句。特别注意,在“\”符号右边不可以加上任何符号或文字,即使是注释符号也是不允许的。
另外,也可以在语句内使用小括号,如果使用小括号,就可以在语句右边加上注释符号。
程序实例ch2_4.py:将一个语句分成多行的应用。
![](https://epubservercos.yuewen.com/371221/17274856804199906/epubprivate/OEBPS/Images/Figure-P33_5235.jpg?sign=1738956019-LWWcxddNCNHJhCUq8beAfhU2H8VK0PdQ-0-50cd2dd0642de137674238fe52f1f067)
执行结果
![](https://epubservercos.yuewen.com/371221/17274856804199906/epubprivate/OEBPS/Images/Figure-P33_5238.jpg?sign=1738956019-RPUDDLoFzFf59ROTapsDLP4Ok65oav0y-0-e8748b6557d688ed17313159cfda7a59)
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=1738956019-H14b9UV24wrkdCsJv9x4808y0kgH8Jli-0-5b95b1b80a73a777a5de3e1943196e26)
执行结果
![](https://epubservercos.yuewen.com/371221/17274856804199906/epubprivate/OEBPS/Images/Figure-P34_5724.jpg?sign=1738956019-s6jn6ui4qrVGU72hJUHQhtTanV2UPM6S-0-f7f313d43c606dc660ee52df7ee08fec)
2-12-2 计算圆面积与周长
程序实例ch2_6.py:假设圆半径是5cm,圆面积与圆周长计算公式分别如下:
![](https://epubservercos.yuewen.com/371221/17274856804199906/epubprivate/OEBPS/Images/Figure-P34_192303.jpg?sign=1738956019-B3fhESCufZNiri888QUDMSUDT0v6VJqm-0-bfeec508fde1cdcf408b4e9768eb3bf6)
执行结果
![](https://epubservercos.yuewen.com/371221/17274856804199906/epubprivate/OEBPS/Images/Figure-P34_5731.jpg?sign=1738956019-bSnlJXGzaqkqTEt9CAhsohXhU0d3Mfug-0-c320460318bfd0d00111be6282f79a38)
在程序语言的设计中,有一个概念是常量(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=1738956019-pfbGMHfA51b4pJlZNNmc5UDlaZVcXEd5-0-308c67028d993beaabf06424211884aa)
2. 重新设计ch2_5.py,假设是单利率,5年期间可以领多少利息?(2-5~2-7节)
![](https://epubservercos.yuewen.com/371221/17274856804199906/epubprivate/OEBPS/Images/Figure-P35_22645.jpg?sign=1738956019-ouHkTng5cTHjAg2Rl6q1ZqUb5f2bwOJH-0-c3f8f534334bc0cbcfe4d61d9fb3126b)
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=1738956019-M9A5wQZMPZeo2B6r083diNfKaFfUwB22-0-d6a1564650b234671c7a202ff1767459)
4. 一个幼儿园买了100个苹果给学生当营养午餐,学生人数是23人,每个人午餐可以吃一个,请问这些苹果可以吃几天?第几天苹果会不够供应?同时列出缺少了几个。(2-5~2-12节)
![](https://epubservercos.yuewen.com/371221/17274856804199906/epubprivate/OEBPS/Images/Figure-P35_22651.jpg?sign=1738956019-xY95Bnq8c7pD3NuWxIdUuyVYuYfXsIMf-0-8adb49135fa8e2d3f3e1dc5b31b47303)
5. 地球和月球的距离是384 400千米,假设火箭飞行速度是每分钟400千米,请问从地球飞到月球需要多少分钟?(2-5~2-12节)
![](https://epubservercos.yuewen.com/371221/17274856804199906/epubprivate/OEBPS/Images/Figure-P35_22654.jpg?sign=1738956019-wBOGeil3wdikdcjwJzrUn84CSM7xcKAj-0-d535c2125e348026555253bdfb2e1750)
6. 假设圆柱半径是20厘米,高度是30厘米,请计算此圆柱的体积。圆柱体积计算公式是:圆面积×圆柱高度。(2-5~2-12节)
![](https://epubservercos.yuewen.com/371221/17274856804199906/epubprivate/OEBPS/Images/Figure-P35_22657.jpg?sign=1738956019-yw1RZWgjgOmEq6HQL6d8sPPrkB3MbAqe-0-9f62f00ef014c0118b4cde917898a281)
7. 圆周率PI是一个数学常数,常常使用希腊字母表示,它的物理意义是圆的周长和直径的比率。历史上第一个无穷级数公式称为莱布尼茨公式,它的计算公式如下:(2-5~2-12节)
![](https://epubservercos.yuewen.com/371221/17274856804199906/epubprivate/OEBPS/Images/Figure-P35_192304.jpg?sign=1738956019-lMHnvvn6QUXuQvMTMQ5HHi1oy12apmHr-0-b5bb1ad5108b9b08b3b7ffba41694115)
请分别计算下列级数的执行结果。
(1)
(2)
(3)
注 上述级数如果要收敛到我们熟知的3.14159需要相当长的级数计算。
![](https://epubservercos.yuewen.com/371221/17274856804199906/epubprivate/OEBPS/Images/Figure-P36_23171.jpg?sign=1738956019-uyy5Ny8C5G1876aEsA657MgKbN5OkLZo-0-7d6771340c3316675f2c6be55955df8a)
莱布尼茨(Leibniz,1646—1716)是德国人,在世界数学舞台上占有一席之地,他本人另一个职业是律师,许多数学公式都是他在各大城市通勤期间完成的。数学历史上有一个两派说法的无解公案,有人认为他是微积分的发明人,也有人认为发明人是牛顿(Newton)。
8. 尼拉卡莎级数也是应用于计算圆周率PI的级数,此级数收敛的速度比莱布尼茨级数更好,更适合于用来计算PI,它的计算公式如下:
![](https://epubservercos.yuewen.com/371221/17274856804199906/epubprivate/OEBPS/Images/Figure-P36_192311.jpg?sign=1738956019-y32565qVUXleqKTqU1gOFNwsMEASmLQQ-0-9d679b69e861d418e07474f9a3a1e146)
请分别计算下列级数的执行结果。
(a)
(b)
![](https://epubservercos.yuewen.com/371221/17274856804199906/epubprivate/OEBPS/Images/Figure-P36_23210.jpg?sign=1738956019-ya7Udtci9I1O6hOTM93VyvxPcMvKjO1C-0-969552f22d009b914f3e3815f8a17152)