Python语言程序设计(第2版)(含视频教学)-课后习题及答案 习题8_第1页
Python语言程序设计(第2版)(含视频教学)-课后习题及答案 习题8_第2页
Python语言程序设计(第2版)(含视频教学)-课后习题及答案 习题8_第3页
Python语言程序设计(第2版)(含视频教学)-课后习题及答案 习题8_第4页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

PAGE1PAGE4习题8一、选择题1.下列选项中不属于函数优点的是()。DA.减少代码重复B.使程序模块化C.使程序便于阅读D.便于发挥程序员的创造力2.关于函数的说法中正确的是()。BA.函数定义时必须有形参B.函数中定义的变量只在该函数体中起作用C.函数定义时必须带return语句D.实参与形参的个数可以不相同,类型可以任意3.以下关于函数说法正确的是()。DA.函数的实际参数和形式参数必须同名B.函数的形式参数既可以是变量也可以是常量C.函数的实际参数不可以是表达式D.函数的实际参数可以是其他函数的调用4.有return语句的函数将返回()。BA.0B.其参数值C.NoneD.其名字5.下列程序的输出结果是()。Bdefswap(x):x[0],x[1]=x[1],x[0]a=[10,20]swap(a)print(a[0],a[1])A.1020B.2010C.[2010]D.[1020]6.有以下两个程序。程序一:x=[1,2,3]deff(x):x=x+[4]f(x)print(x)程序二:x=[1,2,3]deff(x):x+=[4]f(x)print(x)下列说法正确的是()。AA.两个程序均能正确运行,但结果不同B.两个程序的运行结果相同C.程序一能正确运行,程序二不能D.程序一不能正确运行,程序二能7.已知f=lambdax,y:x+y,则f([4],[1,2,3])的值是()。CA.[1,2,3,4]B.10C.[4,1,2,3]D.{1,2,3,4}8.下列程序的运行结果是()。Df=[lambdax=1:x*2,lambdax:x**2]print(f[1](f[0](3)))A.1B.6C.9D.369.下列程序的运行结果是()。Bdeff(x=2,y=0):returnx-yy=f(y=f(),x=5)print(y)A.-3B.3C.2D.510.output.py文件和test.py文件内容如下,且output.py和test.py位于同一文件夹中,那么运行test.py的输出结果是()。A#output.pydefshow():print(__name__)#test.pyimportoutputif__name__=='__main__':output.show()A.outputB.__name__C.testD.__main__二、填空题1.函数首部以关键字开始,最后以结束。def,冒号2.函数执行语句“return[1,2,3],4”后,返回值是;没有return语句的函数将返回。([1,2,3],4),None3.使用关键字可以在一个函数中设置一个全局变量。global4.下列程序的输出结果是。defrecp(n):ifn==1:return0elifn==2:return1elifn>2:returnrecp(n-1)*2+recp(n-2)print(recp(5))125.下列程序的输出结果是。40counter=1num=0defTestVariable():globalcounterforiin(1,2,3):counter+=1num=10TestVariable()print(counter,num)6.设有f=lambdax,y:{x:y},则f(5,10)的值是。{5:10}7.Python包含了数量众多的模块,通过语句,可以导入模块,并使用其定义的功能。import8.设Python中有模块m,如果希望同时导入m中的所有成员,则可以采用的导入形式。frommimport*9.Python中每个模块都有一个名称,通过特殊变量可以获取模块的名称。特别地,当一个模块被用户单独运行时,模块名称为。__name__,__main__10.建立模块a.py,模块内容如下。defB():print('BBB')defA():print('AAA')为了调用模块中的A()函数,应先使用语句。fromaimportA三、问答题1.什么叫递归函数?举例说明。递归(recursion)调用是指在一个程序中存在程序自己调用自己的现象。例如,求n!的递归函数。根据n!的递归表示形式,用递归函数描述如下:deffac(n):ifn<=1:return1else:returnn*fac(n-1)m=fac(3)print(m)2.什么叫lambda函数?举例说明。在Python中,可以使用lambda关键字来在同一行内定义函数,因为不用指定函数名,所以这个函数被称为匿名函数,也称为lambda函数,定义格式为:lambda[参数1[,参数2,……,参数n]]:表达式例如:>>>f=lambdax,y:x+y>>>f(5,10)3.什么叫模块?如何导入模块?Python模块是比函数更高级别的程序组织单元,一个模块可以包含若干个函数。与函数相似,模块也分标准库模块和用户自定义模块。可以通过执行import语句来导入Python模块,语句格式如下:import模块名1[,模块名2[,……,模块名n]4.写出下列程序的输出结果。defff(x,y=100):return{x:y}print(ff(y=10,x=20)){20:10}5.分析下面的程序。x=10deff():#y=xx=0print(x)print(x)f()(1)函数f()中的x和程序中的x是同一个变量吗?程序的输出结果是什么?(2)删除函数f()中第一个语句前面的“#”,此时运行程序会出错,为什么?(3)删除函数f()中第一个语句前面的“#”,同时在函数f()中第二个语句前面加“#”,此时程序能正确运行,为什么?写出运行结果。(1)不是同一个变量。程序的输出结果是:100(2

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论