Python程序设计基础项目化教程习题项目五函数高级应用.docx
-
资源ID:7028227
资源大小:17.65KB
全文页数:5页
- 资源格式: DOCX
下载积分:5金币
友情提示
2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
|
Python程序设计基础项目化教程习题项目五函数高级应用.docx
函数高级应用测试习题测试习题一.填空题1 .按照作用域的不同,Python中的变量可以分为局部变量和O2 .在一个函数中使用关键字,可以声明在该函数中使用的是全局变量、而非局部变量。3 .通过关键字,可以使内层的函数直接使用外层函数中定义的变量。4 .函数是指在一个函数内部通过调用自己来完成一个问题的求解。5 .函数也称为匿名函数,是一种不使用def定义函数的形式,其作用是能快速定义一个简短的函数。6 .lambda函数的函数体只是一个,所以Iambda函数通常只能实现比较简单的功能。7 .如果内层函数使用了外层函数中定义的局部变量,并且外层函数的返回值是内层函数的引用,就构成了O二、选择题1 .下列说法中错误的是()A.在一个函数中定义的变量就是局部变量B.局部变量的作用域是从定义位置到函数结束位置C.在所有函数外定义的变量就是全局变量D.全局变量的作用域是从定义位置到程序结束位置2 .下列关于装饰器的说法错误的是()A.利用装饰器,可以在不修改已有函数的情况下向已有函数中注入代码,使其具备新的功能B. 一个装饰器可以为多个函数注入代码,一个函数也可以注入多个装饰器的代码C. 一个装饰器可以为多个函数注入代码,而一个函数只能注入一个装饰器的代码D.装饰器实际上就是一种闭包三、简答题1 .写出下面程序的输出结果。defouter():x=100globalyy=200definner():nonlocalXx=1000y=2000PrintCinner函数中的x,y值为:'l×ly)inner()PrintCOUter函数中的x,y值为:',x,y)x=10y=20outer()Prim("执行OUter,inner函数之后xzy值为:nl×ly)2 .写出下面闭包程序的输出结果。deff(x):y=100definner(z):returnx*y+zreturninneral=f(10)a20=f(20)print(al(29)print(a20(29)3 .已知高阶函数的程序如下:defFunAdd(f,x):returnf(x)defarea(r):return3.14*r*rdefperimeter(r):return2*3.14*rprint(FunAdd(area,5)Print(FUnAdd(Perimeter;5)请将其中的area函数和perimeter函数改写为Iambda函数。请将改写后的程序填写完整。defFunAdd(f,x):returnf(x)print(FunAdd(,5)print(FunAdd(,5)4 .斐波那契数列(Fibonaccisequence),又称黄金分割数列,因数学家列昂纳多斐波那契(LeonardodaFibonacci)以兔子繁殖为例子而引入,故又称为"兔子数列。斐波那契数列前两项的值都为1,后面每一项的值等于其前两项的和,即:F(1)=F(2)=1,F(n)=F(n-l)+F(n-2)(n>2请编写递归函数fib(n),实现求斐波那契数列第n项的值。