Python语言实用教程第5章 函数与模块.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
2、本章应用实例 【例5-7】 利用递归方法求15!。 def fun(i): if i==1: return 1 return i*fun(i-1) print(fun(15)) 【例5-8】 利用递归函数,将所输入字符串,以相反顺序打印出来。 def output(s,l): if l==0: return print(s[l-1]) output(s,l-1) s = input(Input a string:) l = len(s); output(s,l) 5.8 应用实例 【例5-9】 全局变量与局部变量的使用示例。 【例5-10】 函数可变参数列表的使用示例。例5-10-2 【例5-11】 利用递归函数来产生、输出杨辉三角形。 【例5-12】 编写函数产生前40个斐波那契(Fibonacci)数列于数组中,并输出。 【例5-13】 用递归方法求解斐波那契数列 5.8 应用实例 【例5-14】 哥德巴赫猜想。哥德巴赫猜想是一个伟大的世界性的数学猜想,其基本思想是:任何一个大于2的偶数都能表示成为两个素数之和。这里可以编写程序实现验证哥德巴赫猜想对100以内的正偶数成立。 分析:要验证哥德巴赫猜想对100以内的正偶数成立,可以将正偶数分解为两个数之和,再对这两个数分别判断,如果均是素数则满足题意,不是则重新分解另两数再继续判断。可以把素数的判断过程编写成自定义函数goldbach_conjecture(),对每次分解出的两个数分别利用函数判断即可。若所有正偶数均可分解为两个素数,则哥德巴赫猜想得到验证。 5.8 应用实例 【例5-15】 汉诺塔是由三根杆子A,B,C组成的。A杆上有N个(N1)穿孔圆盘,盘的尺寸由下到上依次变小。要求按下列规则将所有圆盘移至C杆:1)每次只能移动一个圆盘;2)大盘不能叠在小盘上面。提示:可将圆盘临时置于B杆,也可将从A杆移出的圆盘重新移回A杆,但都必须尊循上述两条规则。请问:如何移动? 分析:递归法实现:最终得到的结果是将所有的圆盘按规定的方法从B移到C,对于C来说,当第n个盘子(最大的那个盘子)移动到C时,已经固定了,以后的操作都不用动这块盘子,而当这个盘子从A移动到C的前一步是其它n-1个盘子应该是在B上了,依次类推,当第n-1个盘子从B移动到C前,之前的n-2个盘子应该是在A上。 5.8 应用实例 # 循环读取每行数据,第0行是表头信息,所以从第1行读取数据 for row in range(1, rows): id = sheet.cell(row,0).value # 获取第row行的第0列数据 name = sheet.cell(row, 1).value sex = sheet.cell(row, 2).value # 将id、name、sex添加到字典,若元素不存在则新增否则是更新 stu={}; stu[id]=id; stu[name]=name; stu[sex]=sex stu_list.append(stu) print(id,name,sex ,end=/) # 逐个输出 print(stu_list) # 全部输出 readExcel() * 5.5.1 导入模块 5.5.2 标准库模块介绍 5.5 模块 1、import 语句 想使用Python源文件,只需在另一个源文件里执行import语句,语法如下: import module1[, module2[,... moduleN] 当解释器遇到import语句,如果模块在当前的搜索路径就会被导入。搜索路径是一个解释器会先进行搜索的所有目录的列表。 5.5.1 导入模块 如想要导入模块support.py,需要把命令放在脚本的顶端: import support # 导入模块 # 现在可以调用模块里包含的函数了 support.print_func(Zara) # 注意:这种导入模式,函数前需要加“模块名.” 输出结果:Hello : Zara 一个模块只会被导入一次,不管你执行了多少次import。这样可以防止导入模块被一遍又一遍地执行。 5.5.1 导入模块 2、from…import 语句 Python的from语句让你从模块中导入一个指定的部分到当前命名空间中。 语法如下:from modname import name1[, name2[, ... nameN]] 例如

文档评论(0)

132****9295 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档