《Python程序设计-期末复习(附参考答案).docx》由会员分享,可在线阅读,更多相关《Python程序设计-期末复习(附参考答案).docx(52页珍藏版)》请在课桌文档上搜索。
1、一、单选题1.PythOn是一种()的计算机程序设计语言。A.面向过程B.面向对象C.面向数据D.面向用户2 .以下说法错误的是()。A. Python语言是一种面向对象的语言。B. Python语言具有可移植性的特点。C. Python语言是一种编译性语言。D. Python语言具有可扩展性的特点。3 .以下哪项不是PythOn的标准库()。A. osB. mathC. randomD. numpy4 .使用()命令可以查看Python3的版本。A. python3-BB. python3-VC. python3-XD. python3-W5 .Python中可以使用()函数实现交互过程。A
2、. printB. importC. inputD. output6 .在PythOn中,符号()可以给变量进行赋值。A.-B.=C.=D.!=7 .在Python中,以下变量名错误的是()。A. aB. a_001C. 001_aD. a0018 .以下代码的运行结果为()。a=123print(a)a=ABC,print(a)A.123123B. ABCABCC. 123ABCD. 123,ABC,9 .以下代码的运行结果为()。a=,ABC,b=aa=XYZprint(b)A. ABCB. ,ABC,C. XYZD. ,XYZ,10 .下列选项中,()不是字符串。A. “123”B. T
3、23C. 123D. “一2三”11 .以下代码的运行结果为()。print(r,helloznworld,)A. hello,nworldB. hello,worldC. hello,world,D. r,hello,nworld,12 .以下代码的运行结果为()。print(%.2f,%3.1415926)A. %.2fB. 3.1415926C. 3.14D. %3.141592613 .在PythOn中使用()表示符号。A. %B. %C. 100%D. %-%14 .在PythOn中使用()表示两个对象相加。A.+B.-C.*D./15 .在PythOn中使用()表示两个对象取整除。
4、A./B. %C. /D. %16 .在Python中使用()表示两个对象不相等。A. =/B. /=C. =!D. !=17 .以下语句等效于()。c*=aA. c=c*aB. c=c*aC. c=a*aD. a=c*c18 .在Python中,&表示按位()运算符。A.与B.或C.异或D.取反19 .()不是Python中的逻辑运算符。A. andB. orC. noD. not20 .以下运算符中,优先级最高的是()。A. &B. 23 Ix2 TJ TJ2 3 3l2,2,c。L L L LA.B.C.D.29 .以下代码的运行结果为()。X=n=Ien(x)print(n)A.OB.
5、 NAC. NULLD. -130 .()变量是元组类型。A. 3B. 3C. (3)D. (3,)31 .a是一个列表,a=A,b,C,d,E,若要获取列表a的前三个元素应当采用()。A. a3B. a0,1,2C. a:3D. al,2,332 .以下那种数据结构不含重复元素()A.列表B.元组C.字典D集合33 .以下不能创建一个字典的语句是()。A. did=B. dic2=123:345)C. dic3=l,2,3abc,D. dic3=(1,2,3)abc,34 .以下代码的运行结果是()。a=(l,2,lz2)a2.append(3)print(a)A. (1,2,1,2,3)B
6、. (1,2,1,2,3)C. 1,2,1,2,3D.报错35 .以下代码的运行结果可能是()。print(set(,121323,)A. (,2,3,2,3,)B. ,121323,C. 1,2,3D. (,2,3,)36 .以下关于字典的描述,错误的是()。A.字典是键值对的集合B.字典长度是可变的C.字典中的键可以对应多个值信息D.字典中元素以键信息为索引访问37 .以下代码的运行结果为()。X=Truecountry_number=defexample(country):ifcountryincountry_number:country_numbercountry+=1else:cou
7、ntry_numbercountry=1example(,中国。example(,美国,)example(,中国,)print(len(country_number)A. 0B. 1C. 2D. 338 .以下代码的运行结果为()。a=al=1a1=2al+=1sum=0forkina:sum+=akprint(sum)A.1B.2C.3D.439 .Python中,()函数是用于输出内容到终端的。A. echoB. outputC. printD. console,log40 .input。函数的返回结果类型为()A.整数B.浮点数C.字符串D.文本41 .布尔值不可以用()运算。A. an
8、dB. orC. notD. isnot42 .在Python程序中,条件判断的实现用()语句实现。A. forB. ifC. whileD. do43 .代码块的规则不包括()。A.当缩进增加时,代码块就开始了。B.代码块需要用包括起来。C.代码块可以包含其他代码块。D.缩进减少为零或减少为外面包围代码块的缩进,代码块就结束了。44.以下代码的运行结果为()a=lnifa=1:Print:苹果”)else:Print(“香蕉”)print(u三M)A.苹果香蕉B.苹果西瓜C.香蕉西瓜D.香蕉45. if语句不包括包含以下()部分。A.if关键字B.条件C.冒号D.大括号46. CISe语句不
9、包括包含以下()部分。A.else关键字B.条件C.冒号D.代码块47. 以下代码的运行结果为()。name=张三”age=18ifname=,张三Yprint(,你好,张三Delifage22:print(,22岁以上,)A.张三B.你好,张三C. 16岁以下D. 22岁以上48.以下代码的运行结果为()。a=1b=2a=3print(b)else:b=4A. 1B. 2C. 3D. 449.以下代码的运行结果为(print(a)Oa=1b=1c=2ifa=banda=c:print(,a+b)else:print(,a-b)A. 2B. OC. a+bD. ab)O(1/2,3(2z3,4
10、x for x in bl if x in b250 .以下代码的运行结果为(bl=b2=b3=print(b3)A. 1,2,3,4B. E2C. 2,3D.程序报错51 .以下代码的循环次为()。n=1000print(n)n=n/2A. 9B. 10C. 11D.无限循环52 .以下代码的运行结果为()。a=foriinapple,:ifi=,p,:continuea.append(i)print(,.join(a)A. a,p,p,1,eB. appleC. apleD. ale53 .以下代码的运行结果为()。foriinrange(2,5):Print“编号-“+str(i),en
11、d=)A.编号T编号-2编号-3编号-4编号-5B.编号-2编号-3编号-4编号-5C.编号-2编号-3编号-4D.编号-2编号-554 .以下代码的运行结果为()。foriinrange(10):ifi=5:breakprint(i,end=)A. 12345678910B. 0123456789C. 01234D. 01234555 .以下代码的运行结果为()。y=1foriinrange(0,10,2):y+=iprint(y)A. 10B. 11C. 21D. 3156 .以下代码的运行结果为()。number=30ifnumber%2=0:print(number,iseven)el
12、ifnumber%3=O:print(number,ismultipleof3,)A.30iseven30ismultipleof3B.30ismultipleof3C.程序出错D.30iseven57 .以下代码的运行结果为()。x=ly=-1z=lifX0:ify0:print(,A,)elifz0:print(B)A.无输出5,B.AC.BD.语法错误58 .如果输入5,-1,6,16,9,5,0,以下代码的运行结果为()。number=int(input(,请输入整数:,)max=numberwhilenumber!=0:number=int(input(,请输入整数:,)ifnumb
13、ermax:max=numberprint(max)A. 5B. -1C. 16D. 059 .下列for语句中,在in后使用不正确的是()。forXin:print(x)A. set(,str,)B. range(0,10,5)C. 1,2,3,4,5D. (1)60 .关于以下代码说法正确的是()。k=10k=k-1print(k)A.循环体语句执行1次8. while循环执行10次C.循环体语句一次也不会执行D.循环是无限循环61 .以下代码中WhiIC循环结束的条件是()。n=p=0whileP!=10andn5:P=int(input()n+=1A. p的值不等于10并且n的值小于5
14、B. p的值不等于10或者n的值小于5C. p的值等于10或者n的值大于等于5D. p的值等于10并且n的值大于等于562 .以下for语句中,不能完成ITO的累加功能的是()。A. foriin(10,9,8,7,6,5,4,3,2,1):sum+=iB. foriinrange(10,-1,-1):sum+=iC. foriinrange(10,0):sum+=iD. foriinranged,11):sum+=i63 .下列说法中正确的是()。A. break用在while语句中,而continue用在for语句中B. break能结束循环,而continue只能结束本次循环C. bre
15、ak用在for语句中,而continue用在while语句中D. continue能结束循环,而break只能结束本次循环64 .可以终结一个循环的执行的语句是()。A. inputB. ifC. exitD. break65 .以下关于循环控制语句描述错误的是哪一项()。A. Python中的for语句可以在任意序列上进行迭代访问,例如列表、字符串和元组。B. Python中多分支可以用ifelifelse来表达。C. Python中循环结构中存在else语句。D. Python中循环不可以嵌套使用,个while语句中不能存在for语句。66 .表达式SUm(range(10)的值为()。A
16、. 45B. 55C. 11D. 4667 .以下()程序输出快乐10次。(1) forainrange(1,10):Print(快乐)(2) forbinrange(0,10):Print(快乐)(3) forcinrange(1,11):Print(快乐)(4) fordinrange(1,12):Print(快乐)A. (2)(4)B. (1)(2)(3)C. (1)(3)D. (2)(3)68 .以下代码的运行结果为()。foriinrange(3):forsinxyzabc,:ifs=a:breakprint(s,end=,)A. xxxyyyzzzB. xxxyyyzzzaaaC.
17、 xyzxyzxyzD. xyzaxyzaxyza69 .以下代码的运行结果为()。forsinxyab:foriinrange(3):ifs=a:breakprint(s,end=,)A. xyxyxyB. xxxyyybbbC. xxxyyyD. xybxybxyb70 .关于Python循环结构,以下选项中描述不正确的是()。A.遇到break语句后,所有层次的循环都会结束。8. for循环结构用遍历的方式对字符串或者range()对象中的每个元素进行操作。C.所有for循环功能都可以用while循环语句来替代。D.使用while循环语句不需要提前知道循环的次数。71 .以下代码的运行结
18、果为()。n=0forsinn01234:ifs=,5n:breakn=n+1print(n)A.0B. 1C. 5D.无输出72 .以下代码的运行结果为()。n=OwhilenD.,83 .以下代码的运行结果为()。numbers=3,3,6newNumbers=tuple(map(lambdax:x,numbers)print(newNumbers)A. 3,3,6B. (3,3,6)C. 6,6,12D. (6,6,12)84 .以下代码的运行结果为()。defexample(n):ifn=1:return1returnn*example(n-1)print(example(5)A. 1
19、5B. 24C. 120D. 72085 .定义函数时函数名后面的一对小括号中给出的参数称为()。A.名字参数B.形参C.实参D.类型参数86 .以下代码的运行结果为()。defexample(country=中国,name):print(1%s,%s,%(name,country)example(,美国,张三,)A.美国,张三B.报错C.张三,美国D.张三,中国87 .不定长的位置参数在传递给函数时会被封装成()。A.集合B.字典C.元组D.列表88 .将一个函数的运算结果返回到函数调用的地方,应使用()。A. breakB. printC. returnD. continue89 .当要使
20、用一个模块中的某些功能时,可以通过()语句将该模块导入。A. exportB. importC. includeD. load90 .关于以下代码,说法错误的是()。defexample(a,b):c=a*2+breturnca=10b=100c=example(a,b)+aA.该函数名称为funcB.执行该函数后,变量b的值为100C.执行该函数后,变量C的值为200D.执行该函数后,变量a的值为1091 .在Python中,关于全局变量和局部变量,以下选项中描述错误的是()。A.全局变量不能和局部变量重名B.全局变量一般没有缩进C.全局变量在程序执行的全过程有效D.一个程序中的变量包含两类
21、:局部变量和全局变量92 .关于PythOn的全局变量和局部变量,以下选项中描述错误的是()。A.用global保留字声明简单数据类型变量后,该变量作为全局变量使用B.局部变量指在函数内部使用的变量,当函数退出时,变量依然存在,下次函数调用可以继续使用C.简单数据类型变量无论是否与全局变量重名,仅在函数内部创建和使用,函数退出后变量被释放D.全局变量指在函数外定义的变量,在程序执行全过程有效93 .关于以下代码,说法错误的是()。defexample(n):s=lforiinrange(1,n+l):s*=ireturnsA.代码中n是可选参数B.S是局部变量C. CXanIPle(n)函数功
22、能为求n的阶乘D. range。函数是Python内置函数94 .关于Python的lambda函数,以下选项中描述错误的是()。A. f=lambdax,y:x+y执行后,f的类型为数字类型B. lambda函数将函数名作为函数结果返回C.可以使用lambda函数定义列表的排序原则D.lambda用于定义简单的、能够在一行内表示的函数95 .下列函数定义语句第一行中存在错误的是()。A. deffunc(a,b):B. deffunc(*a,b):C. deffunc(a,*b):D. deffunc(a,b=l):96 .关于函数中关键字参数的使用,以下描述中错误的是()。A.关键字参数必
23、须位于位置参数之前B.关键字参数顺序无限制C.关键字参数必须位于位置参数之后D.不得重复传入关键字参数97 .关于Iambda表达式,以下描述中错误的是()。A. lambda不是Python的保留字B. lambda表达式也称为匿名函数C. lambda表达式是定义函数的一种方式D. lambda表达式的返回值是一个函数98 .以下代码实现的功能为()。defexample(n):ifn=0:return1else:returnn*example(n-1)num=eval(input(”请输入一个整数:)print(example(abs(int(num)A.接受用户输入的整数n,输出n的阶
24、乘值B.接受用户输入的整数n,判断n是否是水仙花数C.接受用户输入的整数n,判断n是否是完数并输出结论D.接受用户输入的整数n,判断n是否是素数并输出结论99 .以下代码的运行结果为()。Is=,Pz,pudefexample(a):15. append(a)returnexample(,a)print(Is)A. P,p,aB. ,aC.出错D. P,p100.关于以下代码,说法错误的是()。n=1defexample(a,b):c=a*breturncs=example(Hello,3)print(c)A.打印输出字符串:HenoHelIoHelB. c是一个局部变量C. n是一个全局变量
25、D.运行结果是出错,出错类型是NanIeErrOr:name,c,isnotdefined101.以下关于Python函数对变量的作用,错误的是()。A.简单数据类型在函数内部用global保留字声明后,函数退出后该变量保留B.函数内部建立的局部变量,在函数外不可以使用C.全局变量在程序执行全过程有效D.对于组合数据类型的全局变量,如果在函数内部没有被真实创建的同名变量,则函数内部不可以直接使用并修改全局变量的值102 .有关递归函数基例的说明,哪个是错误的()A.递归函数必须有基例B.每个递归函数只能有一个基例C.递归函数的基例决定递归的深度D.递归函数的基例不再进行递归103 .有关函数的
26、说法,哪个是错误的()。A.函数是代码逻辑的封装B.函数对一段代码的命名C.函数是代码功能的一种抽象D.函数是计算机对代码执行优化的要求104 .传递多个参数时各参数由()分隔。A.分号;B.圆点.C.下划线_D.逗号,105 .以下代码的运行结果为()。defexample(x):ifX=1:return1else:returnx-example(x-1)print(example(5)A. 1B. 2C. 3D. 4106 .Python文件只读打开模式是()。A. ,b,B. ,w,C. ,D. ,r,107 .不是Python对文件的打开模式的是()。A. +B. ,w,C. ,c,D
27、. ,r,108 .关于PythOn文件打开模式的描述,以下选项中描述错误的是()。A.追加写模式aB.创建写模式n,C.覆盖写模式wD.只读模式,r,109 .以下选项中不是Python对文件的操作方法的是()。A. writetextB. seekC. writeD. writelines110 .以下选项中,对文件的描述错误的是()。A.文件是一个存储在辅助存储器上的数据序列B.文本文件不能用二进制文件方式读入C.文本文件和二进制文件都是文件D.文件中可以包含任何数据内容111 .os.path模块检查文件是否存在的函数是()。A. isdir(path)B. exists(path)C
28、. isfile(path)D. splitext(path)112 .文件指针可移动位置。seek(5,1)表达的含义是()。A.从文件当前位置,向后移动5个字节B.从文件末尾起,向前移动5个字节C.从文件当前位置,向前移动5个字节D.从文件开头起,向后移动5个字节113 .关于代码withopen(,abc.txt,r,)asf:的描述,错误的选项是()。A.返回文件指针fB.以读写方式打开文件C.程序自动执行ClOSe()函数,关闭文件D.执行代码后,abc.txt文件未关闭,必须通过ClOSe()函数关闭114.在读写文件之前,必须通过以下哪个方法创建文件对象()。A. createB
29、. folderC. FileD. open115 .以下选项中,不是Python中文件操作的相关函数是()。A. read()B. write()C. open()D. load()116 .文件apple.txt在当前程序所在目录内,其内容是一段文本:good,以下代码的运行结果为()。txt=open(apple.txt,r)print(txt)txt.close()A. apple,txtB. appleC. goodD.以上答案都不对117.以下程序输出到文件text,csv里的结果是()。a=open(,text.csvu,w)b=(11,12,13a.write(u,u.join
30、(str(b)a.close()A. 11,12,13B. 11,12,13,1,3,C1119,y),)yJ,),D. ,1,1,1,2,1,3118.设city,csv文件内容如下:A,B,C,DE,F,G以下代码的运行结果为()。,r)a=OPer(字母.csvb=a.read().split(,z,)a.close()A. ,A, ,B, B. A, B, C. , A, B, C, D. ,A, ,B,print(b),C,D,n,E,F,G,C,DnE,F,G,D,E,F,G,C,D,E,F,G119.关于以下代码,选项中描述错误的是()。fname-input(”请输入要写入的文
31、件:)a=open(fname,uw+u)b=,A,zB,nC,Da.writelines(b)a.seek(0)forlineina:print(line)a.close()A. a.WriteIinCS(b)将b列表中的全部字符串写入文件B. a.Seek(O)这行代码如果省略,也能打印输出文件内容C执行代码时,从键盘键入则c.txt被创建D.代码主要功能为向文件写入一个列表中的字符串,并打印输出结果120.关于以下代码的描述,错误的选项是()。withopen(,abc.txt,r+,)asf:lines=f.readlines()foriteminlines:print(item)A.
32、lines是列表类型B.执行代码后,abc.txt文件未关闭,必须通过ClOSe()函数关闭C.item是字符串类型D.程序功能是打印输出abc.txt文件内容121 .有一个文件记录了1000个人的高考成绩总分,每一行信息长度是20个字节,要想只读最后10行的内容,不可能用到的函数是()。A. write()B. open()C. readline()D. seek()122 .打开一个已有文件,然后在文件末尾添加信息,正确的打开方式为()。A. ,a,B. ,w,C. ,w,D. ,r,123 .假设file是文本文件对象,下列选项中,哪个用于读取一行内容?()A. file,read()
33、B. file,readlines()C. file,readline()D. file,read(200)124 .下列语句打开文件的位置应该在()。f=open(,ABC.txt,w,)A.Python安装目录下B.与源文件在相同的目录下C.C盘根目录下D.D盘根目录下125 .构造方法的作用是()。A.对象的初始化B.类的初始化C.一般成员方法D.对象的建立126 .构造方法是类的一个特殊方法,Python中它的名称为()。A. initB. initC. _constructD.皆类同名127 .Python中定义私有属性的方法是()。A.使用_XX_定义属性名B.使用_XX定义属性名
34、C.使用PUbliC关键字D.使用private关键字128 .以下C类继承A类和B类的格式中,正确的是()。A. classCA,B:B. classCAandB:C. classC(A:B):D. classC(A,B):129 .下列选项中,不属于面向对象程序设计的三个特征的是()。A.封装B.继承C.抽象D.多态130 .以下代码的运行结果为()。classStudent:def_init_(self,n=AAA):self.name=ndefshow(self):print(self.name)s=Student(uBBBu)s.show()A. AAAB. BBBC. NoneD.
35、错误131 .以下代码的运行结果为()。classStudent:def_init_(self,n=A2kA):self.name=nQclassinethoddefshow(cis):s=cis()print(s.name)s=Student(nBBBn)s.show()A. AAAB. BBBC. NoneD.错误132 .以下代码的运行结果为()。classStudent:def_init_(self,n=,AAA):self.name=nclassmethoddefshow(cis):s=cis()print(s.name)s=Student(BBBm)Student.show(s)A
36、. AAAB. BBBC. NoneD.错误133 .在A类的某个方法中,“super。”等价于()。A. super(self)B. super(A,self)C. superD. super(八)134 .在执行同样代码的情况下,系统会根据对象实际所属的类去调用相应类中的方法,这个特性是类的()。A.继承性B.封装性C.多态性D.自适应性135 .下列选项中,描述正确的是()。A.子类会继承父类中定义的所有属性和方法,在子类中不允许增加新的属性和方法B.父类会继承子类中定义的所有属性和方法,也可以在父类中增加新的属性和方法C.父类会继承子类中定义的所有属性和方法,在父类中不允许增加新的属性
37、和方法D.子类会继承父类中定义的所有属性和方法,也可以在子类中增加新的属性和方法136 .已知StUI和StU2是StUdent类的两个对象,则执行stulstu2”时会自动执行StUdent类的()方法。A. _ge_B. _lt_C. _le_D. _gt_137 .析构方法的方法名是()。A. _destruct_B. _end_C. _term_D. _del_138 .我们使用对象名调用类中的一个普通方法,则该方法至少有()个参数。A. 2B. 1C. 3D. O139 .以下代码的运行结果为()。classPerson:def_init_(self,id):self.id=idtom=Person(123)tom._diet_(age=20print(tom.age+Ien(tom.diet)A. 21B. 22C. 23D. 24140 .关于以下代码,说法正确的是()。classparent:def_init_(self,param):self.vl=paramc