![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=1739271157-W7b0bporzjnzpJGPPoLooJCd3mx01swX-0-4729ce25a89991c93703746d1681260a)
如果一年实际工作天数是300天,可以用下列方式计算一年所得。
![](https://epubservercos.yuewen.com/371221/17274856804199906/epubprivate/OEBPS/Images/Figure-P24_19335.jpg?sign=1739271157-kK47H21gM6ktGUgompgYHNWMBcpdjfc3-0-5745b2e297577b22c1e350e09f9585f3)
如果读者一个月的花费是9000元,可以用下列方式计算一年可以存储多少钱。
![](https://epubservercos.yuewen.com/371221/17274856804199906/epubprivate/OEBPS/Images/Figure-P24_19338.jpg?sign=1739271157-3CbiAAH3Pj4lpqv7i1wZO7DlFiLeHM2r-0-30668df5acf18a1584e018379afdec18)
上述先计算一年的花费,再用一年的收入减去一年的花费,可以得到所存储的金额。本章将一步一步推导应如何以程序思想,处理一般的运算问题。
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=1739271157-qlR8HUyLTDZpqWtOgOxr3STxETjQkFKb-0-a09b42bc58d7705d1154c15541f04952)
如果想要用Python列出时薪,可以使用print( )函数。
![](https://epubservercos.yuewen.com/371221/17274856804199906/epubprivate/OEBPS/Images/Figure-P24_19347.jpg?sign=1739271157-Q3TA3mAcWsGpDsRUuqvvVt5juyByzTYI-0-a934e04c1baf2f2adc983e1c4eb5871e)
如果时薪从120元调整到125元,那么可以用下列方式表达。
![](https://epubservercos.yuewen.com/371221/17274856804199906/epubprivate/OEBPS/Images/Figure-P25_19807.jpg?sign=1739271157-WJyiLNJiTywq9uhIgDZ2mEMz8p1qnr3Y-0-8ff88aca881854e98fd8673edee55832)
注 在Python Shell环境,也可以直接输入变量名称,即可获得执行结果。
![](https://epubservercos.yuewen.com/371221/17274856804199906/epubprivate/OEBPS/Images/Figure-P25_19811.jpg?sign=1739271157-FBUAAXdNmTO0ptdUx2MCdaCek3HHcXMU-0-5beff013eee7189e2e352762ae91bd6e)
一个程序中是可以使用多个变量的,如果想计算一天工作8小时,一年工作300天,可以赚多少钱,假设用变量y表示一年工作所赚的钱,可以用下列方式计算。
![](https://epubservercos.yuewen.com/371221/17274856804199906/epubprivate/OEBPS/Images/Figure-P25_19814.jpg?sign=1739271157-DD9WwstmOZ1UPhCkyhVuoM5EVnnDWgU8-0-aa3903b1b45cd4f90cb9eea49c61878a)
如果每个月花费是9000元,使用变量z表示每个月的花费,可以用下列方式计算每年的花费,使用a表示每年的花费。
![](https://epubservercos.yuewen.com/371221/17274856804199906/epubprivate/OEBPS/Images/Figure-P25_19817.jpg?sign=1739271157-TC9O4fhbpgjJoFocPzUnHwHd4UaXZLcV-0-e86432f39ec1c512cb787faebef7c476)
如果想计算每年可以存储多少钱,使用b表示每年所存储的钱,可以使用下列方式计算。
![](https://epubservercos.yuewen.com/371221/17274856804199906/epubprivate/OEBPS/Images/Figure-P25_19820.jpg?sign=1739271157-yIsLq1d41h0ltAGomXNLdvHcFtbhe0wo-0-0f0b8985f86a942484710a07a3a1751d)
上述语句顺利地使用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=1739271157-ro67C6SJ8DZuh8fTNP2vAUQwUhV3D0wE-0-66cb407982294a5e31e20b130f4e4b3c)
相信经过上述说明,读者应该了解变量的基本意义了。
2-2-2 认识变量的地址
Python是一种动态语言,它处理变量的过程与一般静态语言不同。对于静态语言而言,例如C、C++,当声明变量时内存就会预留空间存储此变量的内容,例如,若声明与定义x=10, y=10时,内存内容如下方左图所示。
![](https://epubservercos.yuewen.com/371221/17274856804199906/epubprivate/OEBPS/Images/Figure-P26_20256.jpg?sign=1739271157-YXKALdY2AZ5ZSvvU3tXSaoGVsCP6I3lZ-0-afce1a69acd3a91bfd06f90ebe674790)
对于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=1739271157-mmrdaj5eJfdT3E8I1WANR9xh1OmoYwNK-0-b0af18ef2231fcd74d55174a7551a8de)
2-3 认识程序的意义
延续上一节的实例,如果时薪改变、工作天数改变或每个月的花费改变,所有输入与运算都要重新开始,而且每次都要重新输入程序代码,这是一件很费劲的事,同时很可能会输入错误,为了解决这个问题,可以使用Python Shell打开一个文件,将上述运算存储在文件内,这个文件就是所谓的程序。未来有需要时,再打开重新运算即可。
程序实例ch2_1.py:使用程序计算每年可以存储多少钱,下面是整个程序设计。
![](https://epubservercos.yuewen.com/371221/17274856804199906/epubprivate/OEBPS/Images/Figure-P27_20708.jpg?sign=1739271157-PCmA84g4lCBMFjOUCgjoCcSc5Gv3BU16-0-8c0b01ab866bdeae2181cbfdcbba97fc)
执行结果
![](https://epubservercos.yuewen.com/371221/17274856804199906/epubprivate/OEBPS/Images/Figure-P27_20711.jpg?sign=1739271157-u2tBHqB9rdgUMICpTWEzp5wmdWR1fzwD-0-8fb078cead26276998a3a40e749228c0)
未来时薪改变、工作天数改变或每个月的花费改变时,只要适度修改变量内容,就可以获得正确的执行结果。
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=1739271157-h6eK8M0MUUhmUclorL2JicHCrZB7zXt2-0-7d400f1f4c1cea669aacf45f668e5e42)
执行结果 与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=1739271157-hcoLOds4ekYA1btrnG6xBXFok2iog0uh-0-d54d0760a2098adaf3b36920587b3af3)
下列是不建议当作变量名称的Python系统内建函数,若是不小心将系统内建函数名称当作变量,程序本身不会错误,但是原函数功能会丧失。
![](https://epubservercos.yuewen.com/371221/17274856804199906/epubprivate/OEBPS/Images/Figure-T28_192275.jpg?sign=1739271157-EHF9KrnTnSJDLREKjehYkAkb5ICKls1G-0-4a28c0449b587d88cafccf236ebdc5d6)
实例1:下列是一些不合法的变量名称。
![](https://epubservercos.yuewen.com/371221/17274856804199906/epubprivate/OEBPS/Images/Figure-P28_192277.jpg?sign=1739271157-LVeOqvTM3FuhK8LfvbXLNNN0sKoOUtDr-0-8ebcd08d0c08e32b08d505f4b6a1be05)
实例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=1739271157-bwd8oSldVGdSMuMx1h7W6y5uqwf5NPJw-0-3b3325ddb946e56bd1a387d144b3c4e7)
实例2:乘法与除法运算实例。
![](https://epubservercos.yuewen.com/371221/17274856804199906/epubprivate/OEBPS/Images/Figure-P29_22196.jpg?sign=1739271157-SpUBDKukhJ7fsUHIiCukJCtV8LSxOqbJ-0-4e5049976d8142e19e1ab09c16531262)
2-7-2 余数和整除
余数(mod)所使用的符号是“%”,可计算出除法运算中的余数。整除所使用的符号是“//”,是指除法运算中只保留整数部分。
实例:余数和整除运算实例。
![](https://epubservercos.yuewen.com/371221/17274856804199906/epubprivate/OEBPS/Images/Figure-P29_22200.jpg?sign=1739271157-OrAyrnMMTd2XqDdwONrVtjW9NyPwOR08-0-15e419f9c348a7c6c189daf09da54684)
其实在程序设计中求余数是非常有用的,例如,如果要判断数字是奇数或偶数可以用%,例如"num % 2",如果num是奇数,所得结果是1;如果num是偶数,所得结果是0。当读者学会更多指令后,笔者会做更多的应用说明。
2-7-3 次方
次方的符号是“**”。
实例:平方、次方的运算实例。
![](https://epubservercos.yuewen.com/371221/17274856804199906/epubprivate/OEBPS/Images/Figure-P30_3706.jpg?sign=1739271157-GU35IexWDZQlXRphz3oRebSZpdwhelyJ-0-51680530d397fd83c3a834327885512b)
2-7-4 Python语言控制运算的优先级
Python语言碰上计算式同时出现在一个指令内时,除了括号“( )”内部运算最优先外,其余计算优先次序如下。
(1)次方;
(2)乘法、除法、求余数(%)、求整数(//),彼此依照出现顺序运算;
(3)加法、减法,彼此依照出现顺序运算。
实例:Python语言控制运算的优先级的应用。
![](https://epubservercos.yuewen.com/371221/17274856804199906/epubprivate/OEBPS/Images/Figure-P30_3710.jpg?sign=1739271157-jTqgmbvKgCGtbUBbguf7xrHOEkt32rk0-0-014329e45422447e66891d6c40e26f92)
2-8 指派运算符
常见的指派运算符如下。
![](https://epubservercos.yuewen.com/371221/17274856804199906/epubprivate/OEBPS/Images/Figure-T30_192291.jpg?sign=1739271157-vQXryC6gcG5kwf900nyH9VZRsGoZKgbw-0-c8ad404cf38b0811ec74d5d1fd0aecf4)
实例:指派运算符的实例说明。
![](https://epubservercos.yuewen.com/371221/17274856804199906/epubprivate/OEBPS/Images/Figure-P31_4282.jpg?sign=1739271157-GANTyGfOFKe9MyZ1zRZft0LgGVi5x5KI-0-42a9124dfe68e439289c2b87f6b33407)
2-9 Python等号的多重指定使用
使用Python时,可以一次设置多个变量等于某一数值。
实例1:设置多个变量等于某一数值的应用。
![](https://epubservercos.yuewen.com/371221/17274856804199906/epubprivate/OEBPS/Images/Figure-P31_4286.jpg?sign=1739271157-4ZYHwf5SwtttBfEU7aLWedDLC63AEQFt-0-a1c710806b394727e7cdcdb10f0a3181)
Python也允许多个变量同时指定不同的数值。
实例2:设置多个变量,每个变量有不同值。
![](https://epubservercos.yuewen.com/371221/17274856804199906/epubprivate/OEBPS/Images/Figure-P31_4289.jpg?sign=1739271157-ICTV2JggJ9GWnYrRt5DRLzO5Ppatzdti-0-faff36d778c69f1aa34db80efa17d2f7)
当执行上述多重设置变量值后,甚至可以执行更改变量内容。
实例3:将两个变量内容交换。
![](https://epubservercos.yuewen.com/371221/17274856804199906/epubprivate/OEBPS/Images/Figure-P31_4292.jpg?sign=1739271157-eiiidlzxh5N2mz2MCzNEdsTGXQ4n3BpO-0-753b3ad73031e2933f94b4b5180bb682)
上述原先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=1739271157-C2usb4GxCcPHCFkk1CkXvK9BtLPWwoNw-0-8de4230ab660d561a41bc25089a0726d)
上述使用了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=1739271157-HmxwkmWlkNLUNqygjEbykgtJg377VBZT-0-881e08bddc41b31878c64acb92263ea5)
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=1739271157-ckDE7HSH4rvQ3Q1Bsdbhcg4y263Br7tr-0-2bfc3af59409c3d78979f8157c29c021)
执行结果
![](https://epubservercos.yuewen.com/371221/17274856804199906/epubprivate/OEBPS/Images/Figure-P33_5231.jpg?sign=1739271157-eYdiOJqvy0HAIW7IbasfYXVv4yTxZvG4-0-dbfd1bb6bb092d4704f671807fa7c2d9)
2-11-2 将一个语句分成多行
在设计大型程序时,常会碰上一个语句很长,需要分成两行或更多行撰写,此时可以在语句后面加上“\”符号,Python解释器会将下一行的语句视为这一行的语句。特别注意,在“\”符号右边不可以加上任何符号或文字,即使是注释符号也是不允许的。
另外,也可以在语句内使用小括号,如果使用小括号,就可以在语句右边加上注释符号。
程序实例ch2_4.py:将一个语句分成多行的应用。
![](https://epubservercos.yuewen.com/371221/17274856804199906/epubprivate/OEBPS/Images/Figure-P33_5235.jpg?sign=1739271157-5RZrKxCiYeEnhSqyhsKScjcEbftAvR7u-0-3c838c611c805d306c77ff400b1a24e1)
执行结果
![](https://epubservercos.yuewen.com/371221/17274856804199906/epubprivate/OEBPS/Images/Figure-P33_5238.jpg?sign=1739271157-7wlkNLOhP8KxtRVhfUSGfS3c4Iq6FhPQ-0-e98db3166de2002024d9240ee46a5dac)
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=1739271157-wT1lD5DsFsYvYlkS1785EX2VgRitsx5z-0-89f411994a38e35db05a067a302b81f0)
执行结果
![](https://epubservercos.yuewen.com/371221/17274856804199906/epubprivate/OEBPS/Images/Figure-P34_5724.jpg?sign=1739271157-ON6wY3QXkc4PaieeU2ZsnHJrpa8XH2jS-0-76e6389e6299c97e0c3e4812f695d079)
2-12-2 计算圆面积与周长
程序实例ch2_6.py:假设圆半径是5cm,圆面积与圆周长计算公式分别如下:
![](https://epubservercos.yuewen.com/371221/17274856804199906/epubprivate/OEBPS/Images/Figure-P34_192303.jpg?sign=1739271157-95IsqYdpWj8WwJafWjmbSaBTMzjUYRxj-0-fa265bd0fcebf3a087921802eb9ef267)
执行结果
![](https://epubservercos.yuewen.com/371221/17274856804199906/epubprivate/OEBPS/Images/Figure-P34_5731.jpg?sign=1739271157-y9z1qIgPPH8E2En4lhi5i58vfoJcPkkU-0-3c8216d1625372dc8b5c7b2439bdfcc4)
在程序语言的设计中,有一个概念是常量(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=1739271157-nphs6k4LudnEDLw99Le7LGnnKJDUSBjI-0-01b39a596d54e608f2f5b2043141b4a2)
2. 重新设计ch2_5.py,假设是单利率,5年期间可以领多少利息?(2-5~2-7节)
![](https://epubservercos.yuewen.com/371221/17274856804199906/epubprivate/OEBPS/Images/Figure-P35_22645.jpg?sign=1739271157-cgHqRwqaTEyglokRzdmD5y1iiy21UVv7-0-4ad9c21161f4ff82f0e2a0863cd6fb86)
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=1739271157-5Cm9pKOcXwFE6ruMbQa1tWl9EAguOrrb-0-f6b233c2269dff959ca2edd406a6b68a)
4. 一个幼儿园买了100个苹果给学生当营养午餐,学生人数是23人,每个人午餐可以吃一个,请问这些苹果可以吃几天?第几天苹果会不够供应?同时列出缺少了几个。(2-5~2-12节)
![](https://epubservercos.yuewen.com/371221/17274856804199906/epubprivate/OEBPS/Images/Figure-P35_22651.jpg?sign=1739271157-B59IjOmOimXjIhJf9Ck0LEd50LmMoMhq-0-ed916b20f3775ca4427526332197759b)
5. 地球和月球的距离是384 400千米,假设火箭飞行速度是每分钟400千米,请问从地球飞到月球需要多少分钟?(2-5~2-12节)
![](https://epubservercos.yuewen.com/371221/17274856804199906/epubprivate/OEBPS/Images/Figure-P35_22654.jpg?sign=1739271157-mQpgY6GwDRIV6Mf8WDFEWkyafr5otKuR-0-e93d47935bb0fd8307a0b8a77b16d15e)
6. 假设圆柱半径是20厘米,高度是30厘米,请计算此圆柱的体积。圆柱体积计算公式是:圆面积×圆柱高度。(2-5~2-12节)
![](https://epubservercos.yuewen.com/371221/17274856804199906/epubprivate/OEBPS/Images/Figure-P35_22657.jpg?sign=1739271157-egNH8ch0x9vUP58tfJONwoY2DRQbO775-0-d69736492f5c6abc1c25db1fed468cf6)
7. 圆周率PI是一个数学常数,常常使用希腊字母表示,它的物理意义是圆的周长和直径的比率。历史上第一个无穷级数公式称为莱布尼茨公式,它的计算公式如下:(2-5~2-12节)
![](https://epubservercos.yuewen.com/371221/17274856804199906/epubprivate/OEBPS/Images/Figure-P35_192304.jpg?sign=1739271157-mhXkblqlbmsD5nVYg3a1krrpb0In3mU1-0-c732b45666cc88f591f5c131426dec80)
请分别计算下列级数的执行结果。
(1)
(2)
(3)
注 上述级数如果要收敛到我们熟知的3.14159需要相当长的级数计算。
![](https://epubservercos.yuewen.com/371221/17274856804199906/epubprivate/OEBPS/Images/Figure-P36_23171.jpg?sign=1739271157-GfjWqlRRp4U6G778Wpqg2aMJykWXDS0x-0-9a292eec1eed93d6634feef1687dc42f)
莱布尼茨(Leibniz,1646—1716)是德国人,在世界数学舞台上占有一席之地,他本人另一个职业是律师,许多数学公式都是他在各大城市通勤期间完成的。数学历史上有一个两派说法的无解公案,有人认为他是微积分的发明人,也有人认为发明人是牛顿(Newton)。
8. 尼拉卡莎级数也是应用于计算圆周率PI的级数,此级数收敛的速度比莱布尼茨级数更好,更适合于用来计算PI,它的计算公式如下:
![](https://epubservercos.yuewen.com/371221/17274856804199906/epubprivate/OEBPS/Images/Figure-P36_192311.jpg?sign=1739271157-mCNbwi4dynuRrash67ZvQglABkeIB98V-0-581f9ec5c1ba0b66164eb66f9864ba97)
请分别计算下列级数的执行结果。
(a)
(b)
![](https://epubservercos.yuewen.com/371221/17274856804199906/epubprivate/OEBPS/Images/Figure-P36_23210.jpg?sign=1739271157-Orcw9N88X9Z4bFbIeXRh20SaMj3sedzu-0-8fc9ed25349df5a709890a08e24e82aa)