书签 分享 收藏 举报 版权申诉 / 50
上传文档赚钱

类型大学教程 Python程序设计 第7讲-函数的设计和使用课件.pptx

  • 上传人(卖家):晟晟文业
  • 文档编号:4114847
  • 上传时间:2022-11-11
  • 格式:PPTX
  • 页数:50
  • 大小:1.30MB
  • 【下载声明】
    1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
    2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
    3. 本页资料《大学教程 Python程序设计 第7讲-函数的设计和使用课件.pptx》由用户(晟晟文业)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
    4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
    5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
    配套讲稿:

    如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。

    特殊限制:

    部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。

    关 键  词:
    大学教程 Python程序设计 第7讲_函数的设计和使用课件 大学 教程 Python 程序设计 函数 设计 使用 课件
    资源描述:

    1、计算机科学导论计算机科学导论Python程序设计程序设计第第7讲讲 函数的设计和使用函数的设计和使用商务信息学院 信息管理系 教师:柳青 电子信箱:L 办公室:博识楼418 电话:67703852 答疑时间:周三34节,8-15周 周四5-8节,1-16周 周五1-4节,16、810、14、16、17周 夜间自习辅导时间:周四1112节,110周教师信息2期末考试题型(Python部分)共50分 填空题(5分)是非题(5分)程序设计题(40分)函数的设计和使用 问题的引入 函数基础知识6.1 问题的引入 计算三个圆的面积和周长,这三个圆的面积分别为2,3,4。运行结果思考 这三段基本相同的代码

    2、是否能够只写一次呢?对于这样的问题,我们可以使用函数函数来解决,使计算圆面积和周长的这段代码得以重用。6.2 黑箱模型6.3 函数基础知识 6.3.1 函数的概念及定义 函数是一个具有特定功能的、被封装的、可重用的程序。给这个程序段取一个名字,就可以在其他程序的任何地方通过这个名称任意多次的运行这个语句块。函数定义格式:def 函数名(参数):(函数体)例1 定义一个输出函数,打印出Hello World!框图 开始调用函数sayHello()结束运行结果程序保存为eg1_say.py6.3.2 形参和实参 在定义函数时,函数名后面括号中的变量称为形参形参 在调用函数时,可以通过参数将一些值传

    3、递给函数处理,这些在调用函数时提供给函数的值称为实参实参。例2 6.1节中的问题用函数调用的办法来编写程序。运行结果程序保存为eg2_area.py参数传递示意图大路小路思考1 通过改进eg1_say.py中的sayHello()函数,使主程序中调用该函数能实现如下功能:sayHello(3)能打印出3个Hello World!sayHello(5)能打印出5个Hello World!运行结果例3 编写函数,实现比较两个数的大小,并输出其中较大的数,并调用函数 运行结果程序保存为eg3_max.py6.3.3 return语句 return语句用来从一个函数中返回,即跳出函数,也可用retur

    4、n语句从函数中返回一个值。例4 用return语句返回值。程序保存为eg4_max.py 运行结果例5 编写函数,判断一个年份是否为闰年。主程序输入一个年份,调用函数进行判断 运行结果 分析:闰年的定义是年份数能被4整除但不能被100整除,或者年份能被400整除。第1种做法:保存为eg5_year1.py第2种做法:保存为eg5_year2.py例6:编写函数,判断一个数是否为水仙花数。主程序输入一个数,调用函数进行判断 运行结果 分析:水仙花数是指一个 n 位数(n3),它的每个位上的数字的 n 次幂之和等于它本身。例如:13+53+33=153,则153是水仙花数。第1种做法:保存为eg6

    5、_flower1.py第2种做法:示例7:思考2 编写求两个自然数的最大公约数的函数,采用辗转相除法。主程序输入两个数,调用函数求出这两个数的最大公约数,并输出。程序保存为eg7_div.py 辗转相除法的算法如下:1.两个自然数X、Y(保证X=Y)2.计算X除以Y的余数R 3.若R不等于0则用Y替换X,用R替换Y,计算X除以Y的余数R重复步骤3示例8:思考3 编写求素数的函数。用户从键盘输入一个整数n。系统产生n个100至999之间的随机整数x,调用该函数判断x是否为素数。若x为素数,则打印输出“x是素数”,否则输出“x不是素数”,其中x采用字符串格式化方式“%d”用具体的值替换。程序保存为

    6、eg8_prime.py函数调用的步骤 假设程序P现在执行到了一个函数调用f(a),则经过四个步骤来处理这个调用:调用者P在调用点暂停执行(术语称为P挂起)函数f的形式参数被赋予实际参数a的值 执行f的函数体 F执行完毕后,控制返回到P中调用点的下一条语句为什么用函数?生成一个新的函数给你一个命名一组语句的机会,这使得你的程序更容易读和调试。通过避免重复调用代码,函数使得程序更小之后,如果你要做个变动,你只需在一处变动即可。将一个长程序分解为函数,允许你一次调试一部分,然后将它们集成为一个可行的整体。良好设计的函数经常对多个程序都有用。一旦你写出并调试了一个函数,你可以重用它。例2中计算圆的面

    7、积和周长 运行结果思考3:在circle函数中不写print语句,如何实现计算圆的面积和周长并打印输出试验,结果的显示是什么?说明什么问题?运行结果思考思考4:得到如下的运行结果,程序如何改进?程序保存为eg2_circle.py函数小结1 定义函数时,需要确定函数名和参数个数;如果有必要,可以先对参数的数据类型做检查;函数体内部可以用return随时返回函数结果;函数执行完毕也没有return语句时,自动return None。函数可以同时返回多个值,但其实就是一个tuple。示例9:求阶乘的函数,保存为eg9_jc.py 运行结果:思考思考5:如何利用该函数写出求1!+2!+3!+n!的函

    8、数?示例10 编写求1!+2!+3!+n!的函数 程序保存为eg10_add.py 运行结果:示例11递归函数 在函数内部,可以调用其他函数。如果一个函数在内部调用自身本身,这个函数就是递归函数。用递归的思想来实现阶乘函数,然后调用该函数求某数的阶乘,程序保存为eg11_dg.py 0!=1 N!=n*(n-1)!执行过程 如果输入的值是3 ff(3)3*ff(2)3*(2*ff(1)3*(2*(1*ff(0)3*(2*(1*1)3*(2*1)3*(2)6递归函数的优缺点 使用递归函数的优点是逻辑简单清晰,缺点是过深的调用会导致栈溢出。6.4 变量的作用域 当引入函数的概念之后,就出现了变量作

    9、用域的问题。变量起作用的范围称为变量的作用域。一个变量在函数外部定义和在函数内部定义,其作用域是不同的。如果我们用特殊的关键字定义一个变量,也会改变其作用域。6.4.1 局部变量 在函数内定义的变量只在该函数内起作用,称为局部变量。例12 使用局部变量 运行结果6.4.2 全局变量 如果想要在函数内部给一个定义在函数外的变量赋值,那么这个变量就不能是局部的,其作用域必须为全局的,能够同时作用于函数内外,称为全局变量,可以通过global来定义。一个变量已在函数外定义,如果在函数内需要为这个变量赋值,并要将这个赋值结果反映到函数外,可以在函数内用global声明这个变量,将其定义为全局变量。在函

    10、数内部直接将一个变量声明为全局变量,在函数外没有声明,在调用这个函数之后,将增加为新的全局变量。例13 在函数内使用外部定义的全局变量 运行结果例14 把函数内定义的变量声明为全局变量 运行结果6.5 参数的类型 6.5.1 默认参数def 函数名(形参名=默认值,)例15 使用默认参数值 运行结果参数的类型默认参数 具有默认值的参数称为默认参数 如果要设置形参的默认值,必须将这个参数放到形参列表的末尾 不能先声明有默认值的形参,而后声明没有默认值的形参 def func(a,b=5)有效 def func(a=5,b)无效6.5.2 关键参数 如果某个函数有多个参数,在调用函数时,如果不想按

    11、顺序为形参传递值,那么可以通过命名来为参数赋值,这称为关键参数。(指实参)例16 使用关键参数 运行结果6.5.3 可变长度参数 前面的介绍内容中,一个实参只能接收一个形参。有的时候让用户提供任意数量的参数是很有用的。在Python中用户可以给函数提供可变长度可变长度的参数。实现方法:在定义函数的时候,在参数前面使用标识符*就可以实现。例17 可变长度参数 实参是多个值,形参获得一个元组 可变长度参数指形参 运行结果例18 可变长度参数与其他普通参数联合使用 可变长度参数与其他普通参数组合,通常将可变长度参数放在形参列表的最后 运行结果例19 在形参前加上*,可以引用一个字典 实参通过关键参数指定键值对,形参获得一个字典 运行结果6.5.4 序列作实参 1.系列实参t传递给系列形参a 例20 运行结果6.5.4 序列作实参 2.系列实参t传递给多个单变量形参a,b,c 例21 运行结果练习 完成示例及思考题 分别用一般方法和递归函数来实现Fibonacci数列eg7_div.pyeg8_prime.pyeg2_circle.py

    展开阅读全文
    提示  163文库所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
    关于本文
    本文标题:大学教程 Python程序设计 第7讲-函数的设计和使用课件.pptx
    链接地址:https://www.163wenku.com/p-4114847.html

    Copyright@ 2017-2037 Www.163WenKu.Com  网站版权所有  |  资源地图   
    IPC备案号:蜀ICP备2021032737号  | 川公网安备 51099002000191号


    侵权投诉QQ:3464097650  资料上传QQ:3464097650
       


    【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。

    163文库