版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
广东省湛江市全国计算机等级考试Python语言程序设计专项练习(含答案)学校:________班级:________姓名:________考号:________
一、单选题(30题)1.关于以下代码的描述中,正确的是()。deffact(n):s=1foriinrange(1,n+1):s*=ireturns
A.代码中n是可选参数
B.fact(n)函数功能为求n的阶乘
C.s是全局变量
D.range()函数的范围是[1,n+1]
2.文件exam.txt与以下程序在同一目录下,其内容是一段文本bigBen,以下程序的输出结果是()。f=open(“exam.txt”)print(f)f.close()
A.bigBenB.exam.txtC.<_io.TextIOWrapper…>D.exam
3.以下选项中不是Python文件目录操作方法的是()。
A.split()B.rename()C.getcwd()D.rmdir()
4.关系数据库中的键是指()。
A.关系的所有属性B.关系的名称C.关系的专用保留字D.能唯一标识元组的属性或属性集合
5.下列表达式会返回('julyedu',)[0]()
A.异常B.julyeduC.jD.('julyedu')
6.deque是一种()数据结构
A.HeapB.StackC.队列D.双端队列
7.正则非贪婪模式使用()符号设置
A.\$B.\∧C.\{}D.\?
8.软件设计中模块划分应遵循的准则是()。A.低内聚低耦合
B.高内聚低耦合
C.低内聚高耦合
D.高内聚高耦合
9.下列关于Python程序格式的描述中正确的是()。
A.注释可以在一行中的任意位置开始,这一行都会作为注释不被执行
B.缩进是指每行代码前的留白部分,用来表示层次关系,使代码更加整洁利于阅读,所有代码都需要在行前至少加一个空格
C.Python不允许在一行的末尾加分号,这会导致语法错误
D.一行代码的长度如果过长,可以使用反斜杠续行
10.以下代码的输出结果是()。CLis=list(range(5))print(5inCLis)
A.TrueB.FalseC.0D.一1
11.以下代码的输出结果是()。ls=[”apple”,”red”,”orange”]deffunC(a):ls.append(a)returnfunC(”yellow”)print(ls)
A.[]
B.[”apple”,”red”,”orange”]
C.[“yellow”]
D.[”apple”,”red”,”orange”,”yellow”]
12.以下关于Python循环结构的描述中,错误的是()。
A.break用来结束当前当次语句,但不跳出当前的循环体
B.遍历循环中的遍历结构可以是字符串、文件、组合数据类型和range()函数等
C.Python通过for、while等保留字构建循环结构
D.continue只结束本次循环
13.以下程序的输出结果是()。t=10.5defabove_zero(t): returnt>0
A.TrueB.FalseC.10.5D.没有输出
14.静态成员变量称为类变量,非静态成员变量称为实例变量,下列关于一个类的静态成员的描述中,不正确的是()
A.该类的对象共享其静态成员变量的值
B.静态成员变量可被该类的所有方法访问
C.该类的静态方法只能访问该类的静态成员变量
D.该类的静态数据成员变量的值不可修改
15.在Python语言中,IPO模式不包括()。
A.Program(程序)B.Input(输入)C.Process(处理)D.Output(输出)
16.以下关于函数作用的描述中,错误的是()。
A.复用代码B.提高代码的执行速度C.增强代码的可读性D.降低代码编程的复杂性
17.以下关于文件的描述中,正确的是()。
A.使用open()打开文件时,必须要用r或w指定打开方式,不能省略
B.采用readlineS()可以读入文件的全部内容,返回一个列表
C.文件打开后,可以用write()控制对文件内容的读写位置
D.如果没有采用close()关闭文件,Python程序退出时文件将不会自动关闭
18.执行以下代码的结果是()A.2B.4C.5D.8
19.以下关于Python字符串的描述中,错误的是()。
A.在Python字符串中,可以混合使用正整数和负整数进行索引和切片
B.Pythcm字符串采用[N:M]格式进行切片,获取字符串从索引N到M的子字符串(包含N和M)
C.字符串’my\\text.dat’中第一个\表示转义符
D.空字符串可以表示为""或"
20.有3个关系R、S、T如下:
则由关系R和S得到关系T的运算是()。
A.自然连接B.差C.交D.并
21.Python中用来表示代码块所属关系的语法是()。
A.花括号B.圆括号C.缩进D.冒号
22.当用户输入2时,下面代码的输出结果是()。try:n=input(”请输入一个整数:”)defpow2(n):retumn**5pow2(n)except:print(”程序执行错误”)
A.32B.2C.程序没有任何输出D.程序执行错误
23.以下代码的输出结果是()。Test_list=list(range(6))Print(6inTest_list)
A.6B.6inTest_listC.TrueD.False
24.设二叉树的中序序列为BDCA,后序序列为DCBA,则前序序列为()。
A.BCDAB.CBDAC.ABCDD.ACDB
25.结构化程序设计的基本原则不包括A.多态性B.自顶向下C.模块化D.逐步求精
26.以下关于Python函数的描述中,错误的是()。
A.Python程序的main()函数可以改变为其他名称
B.如果Python程序包含一个main()函数,这个函数与其他函数地位相同
C.Python程序可以不包含main()函数
D.Python程序需要包含一个主函数且只能包含一个主函数
27.以下的程序的输出结果是()。Is=["Python”,"family”,"miss”]deffunc(a):Is.append(a)func(”pink")print(Is)
A.['pink']
B.['Python','family','miss','pink1]
C.["Python”,”family"miss"]
D.程序报错
28.以下不属于Python语言保留字的是()。
A.passB.useC.withD.None
29.以下描述中,正确的是()。
A.如果s是一个序列,s=[l,”kate”,Tme],s[3]返回True
B.如果x不是s的元素,xnotins返回True
C.如果x是s的元素,xins返回1
D.如果s是一个序列,s=[l,”kate”,False],s[-1]返回True
30.以下代码的输出结果是()。a=10.99print(complex(a))
A.0.99B.10.99i+jC.10.99D.(10.99+0j)
二、判断题(10题)31.Python支持多继承,如果父类中有相同的方法名,而在子类中调用时没有指定父类名,则Python解释器将从左向右按顺序进行搜索。
A.是B.否
32.元组是不可变的,不支持列表对象的inset()、remove()等方法,也不支持del命令删除其中的元素,但可以使用del命令删除整个元组对象。
A.是B.否
33.字典可以作为集合的元素。
A.是B.否
34.Python集合可以包含相同的元素。
A.是B.否
35.当作为条件表达式时,空值、空字符串、空列表、空元组、空字典、空集合、空迭代对象以及任意形式的数字0都等价于False。
A.是B.否
36.表达式list('[1,2,3]')的值是[1,2,3]。
A.是B.否
37.元组的访问速度比列表要快一些,如果定义了一系列常量值,并且主要用途仅仅是对其进行遍历二不需要进行任何修改,建议使用元组而不使用列表。
A.是B.否
38.定义类时如果实现了__len__()方法,该类对象即可支持内置函数len()。
A.是B.否
39.在循环中continue语句的作用是跳出当前循环。
A.是B.否
40.定义类时,在一个方法前面使用@staticmethod进行休息,则该方法属于静态方法。
A.是B.否
三、填空题(10题)41.Python扩展库______________和______________提供了图像处理功能。
42.Python3.x语句print(1,2,3,sep=',')的输出结果为________________。
43.假设已从标准库functools导入reduce()函数,那么表达式reduce(lambdax,y:x-y,[1,2,3])的值为____。
44.表达式sum(range(1,10))的值为_____________。
45.已知x={1:1,2:2},那么执行语句x[2]=4之后,len(x)的值为____________。
46.已知函数定义deffunc(*p):returnsum(p),那么表达式func(1,2,3,4)的值为______。
47.表达式isinstance('abc',int)的值为_______________。
48.已知x=list(range(10)),则表达式x[-4:]的值为__________。
49.已知列表x=[1,2],那么执行语句x.extend([3])之后,x的值为____________。
50.运算符%__________(可以/不可以)对浮点数进行求余数操作。
四、操作题(3题)51.考生文件夹下存在一个文件PY202.py,该文件是本题目的代码提示框架,其中代码可以任意修改,请在该文件中编写代码,以实现如下功能:
编写程序,实现将列表[51,33,54,56,67,88,431,111,141,72,45,2,78,12,15,5,69]中的素数去除,并输出去除素数后列表的元素个数,结果保存在考生文件夹下,命名为“PY202.txt”。。请结合程序整体框架,补充横线处代码。
试题程序:
#以下代码为提示框架
#请在程序的…处使用一行或多行代码替换
#请在程序的______处使用一行代码替换
#注意:提示框架代码可以任意修改,以完成程序功能为准
fo=open(”PY202.txt”,“w”)
defprime(num):
……#此处可以是多行代码
ls=[51,33,54,56,67,88,431,111,141,72,45,2,78,12,15,5,69]
lis=[]foriinls:
ifprime(i)==False:
________#处为一行代码fo.write(”>>>(),列表长度为{}".format(_______,_________)))fo.close()
52.某班学生评选一等奖学金,学生的10门主干课成绩存在考生文件夹下文件score.txt中,每行为一个学生的信息,分别记录了学生学号、姓名以及10门课成绩,格式如下:
1820161043
郑珉镐68668377567361696678
1820161044
沈红伟91708l919680789l8994
从这些学生中选出奖学金候选人,条件是:①总成绩排名在前10名;②全部课程及格(成绩大于等于60)。
问题1:给出按总成绩从高到低排序的前10名学生名单,并写入文件candidate0.txt,每行记录一个学生的信息,分别为学生学号、姓名以及10门课成绩。补充考生文件夹下文件PY301一1.py,完成这一功能。试题程序:
#请在…处使用多行代码替换
##注意:其他已给出代码仅作为提示,可以修改L=[]
#L中的元素是学生原始成绩和总成绩
…#此处可多行
L.sort(key=lambdax:x[一1],reverse=True)拌按学生总成绩从大到小排序
…#此处可多行
问题2:读取文件candidate0.txt,从中选出候选人,并将学号和姓名写入文件candidate.txt,格式如下:
1010112161722
张三
1010112161728
李四
补充考生文件夹下文件PY301—2.py,完成这一功能。
试题程序:'''输入文件:candidate0.txt输出文件:candidate.txt'''
53.考生文件夹下存在一个文件PY103.py,请写代码替换横线,不修改其他代码,实现以下功能:使用循环输出从1到50之间的奇数。
试题程序:
#请在_____处使用一行代码或表达式替换
#注意:请不要修改其他已给出代码______whilecount<50:
ifcount%2==0:
print(count,end=”,”)
参考答案
1.B函数定义时的语法如下:\ndef<函数名>(<非可选参数列表>,<可选参数>=<默认值>):\n<函数体>\nreturn<返回值列表>\n可选参数一般都放置在非可选参数的后面。本题代码中,n为非可选参数,fact(n)函数的功能为求n的阶乘。s在函数内部定义,为局部变量。根据range函数的定义,range(1,n+1)的范围是[1,n],不包含n+1。
2.Copen()函数打开一个文件,并返回可以操作这个文件的变量f,并且open()函数有两个参数:文件名和打开模式。本题只是打开了文件,并没有对文件进行操作,因此不会输出文件的内容。print(f)语句输出的是变量f代表的文件的相关信息:<_io.TextIOWrappername=‘exam.txt’mode=‘r’encoding=‘cp936’>。若想要输出文件的内容,需要把文件的内容读入,如f1=f.read()。本题选择C选项。
3.Arename():给文件重命名;getcwd():得到当前工作目录,即当前Python脚本工作的目录路径;rmdir():删除目录。split():按给出的分隔符分隔字符串,返回的是列表类型。
4.D在关系(二维表)中凡是能唯一标识元组的最小属性集称为该关系的键或者码。
5.B
6.D
7.D
8.B解析:耦合性和内聚性足模块独立性的两个定性标准。内聚性是一个模块内部各个元素间彼此结合的紧密程度的度量,作为软件结构设计的设计原则,要求每个模块的内部都具有很强的内聚性;耦合性是指模块间相互连接的紧密程度的度量,一个模块与其他模块的耦合性越强则该模块的独立性越弱。一般优秀的软件设计应尽量做到高内聚、低耦合,即减弱模块之间的耦合性和提高模块内的内聚性,有利于提高模块的独立性。
9.D注释可以在一行的任意位置开始,但只有在井号(#)后的部分才会被作为注释不被执行;Python有严格的格式要求,不能随意缩进,只有在需要的时候才在代码前加空格;Python允许在一行的末尾加分号,但一般不建议这么做,会影响代码的美观。本题选择D选项。
10.Brange()函数的语法:range(start,stop,step),作用是生成一个从start参数的值开始,到stop参数的值结束的数字序列(注意不包含数stop),step是步进参数。cLis=list(range(5)),生成一个列表,包含0,1,2,3,4。因为5不在CLis列表中,故返回False。
11.D列表ls中有三个元素,函数funC(”yellow”),将”yellow”传递给形参a,用append()方法将a中内容添加到列表ls中,最后返回,故最终的ls=[”apple”,”red”,”orange”,”yellow”],print(ls),即将列表ls中的内容输出。
12.A在Python中,break意为结束循环,continue是结束当前循环进入下一个循环。本题选择A选项。
13.D在Python中,return语句用来结束函数并将程序返回到函数被调用的位置继续执行。return语句可以出现在函数的任何部分,可以同时将0个、1个或多个函数运算结果返回给函数被调用处的变量。函数可以没有return,此时函数并不返回值。return返回的是值而不是表达式,且此段语句并未调用函数,故程序无输出。本题选择D选项。
14.D
15.A程序设计IPO模式:\nI:Input输入,程序的输入。程序的输入包括:文件输入、网络输入、控制台输入、随机数据输入、程序内部参数输入等。输入是一个程序的开始。\nP:Process处理,程序的主要逻辑。程序对输入进行处理,输出产生结果。处理的方法也叫算法,是程序最重要的部分。可以说,算法是一个程序的主要灵魂。\nO:Output输出,程序的输出。程序的输出包括:屏幕显示输出、文件输出、网络输出、操作系统内部变量输出等。输出是一个程序展示运算成果的方式。
16.B使用函数可以降低编程复杂性和增加代码复用,增强代码可读性。代码复用降低了代码行数和代码维护难度。本题选择B选项。
17.B使用Open()打开文件时,省略打开方式会默认以只读方式打开;文件打开后,可以用seek()控制对文件内容的读写位置,write()方法只是向文件写人一个字符串或是字节流;如果没有采用close()关闭文件,有可能会导致数据丢失。Python程序退出时文件一般会自动关闭。本题选择B选项。
18.D
19.BPython字符串采用[N:M]格式进行切片,获取字符串从索引N到M的子字符串(包含N,不包含M)。本题选择B选项。
20.B关系T中的元组是关系R中有而关系S中没有的元组的集合,所以进行的是差运算。本题选择B选项。
21.C在Python中,缩进指每行语句开始前的空白区域,用来表示Python程序间的包含和层次关系。本题选择C选项。
22.Dinput()函数从控制台获得用户的一行输入,无论用户输入什么内容,input()函数都以字符串类型返回结果。当用户输入2时,n=’2’,这是字符2,不是数字2,不能进行数值运算,故程序会执行except后面的语句,输出程序执行错误。本题选D选项。
23.DTest_list是列表类型,6inTest_list表示如果6是列表Test_list的元素,返回True,否则返回False。
24.C由于后序序列最后遍历根结点,故可确定该二叉树的根结点为A。根据前序序列首先访问根结点A,可排除A、B两项。由中序序列为BDCA,可确定该二叉树只有左子树,没有右子数,再由后序序列为DCBA,可确定左子树的根结点为B。前序序列访问完该树的根结点A后,再访问左子树的根结点B,故答案为C项。
25.A结构化程序设计方法的主要原则可以概括为:自顶向下,逐步求精,模块化和限制使用GOTO语句,其中不包括多态性。
26.DPython是一种脚本解释语言,与C、C++和Java有很大的区别,没有主函数的说法。当运行单个Python文件时,如文件名为a.py,贝!]a的属性__name__==‘__name__’,并不是首先执行所谓main()函数。Python整个程序自顶向下顺序执行。本题选择D选项。
27.B该程序将字符串pink传递给形参a,函数体中通过append()方法将a添加到列表Is中,最后输出列表,IS=\n[‘Python’、’family’,’miss’、’pink]。本题选择B选项。
28.BPython总共有35个保留字,分别是:and,as,assett,async,await,break,class,eontinue,def,del,elif,else,except,False,fihally,for,from,global,if,impor.t,in,is,lambda,None,nonlocal,not,or,pass,raise,return,True,try,whiIe,with,yield。
29.B序列的索引从0开始,所以s=[1,”kate”,True]时,s[3]=0,返回False,A选项错误。Xin\ns(如果x是s的元素,返回True;否则返回False);xnotin\nS(如果X不是S的元素,返回True;否则返回False),B选项正确、C选项错误。序列类型使用的索引可以是正向递增索引(从0开始递增),也可以是反向递减索引(从-1开始递减),所以s[-1]=FalSe,返回的是False,D选项错误。本题选择B选项。
30.Da=10.99,说明实部为10.99,虚部为0,故complex(a)返回复数10.99+0j。本题选择D选项。
31.Y
32.Y
33.N
34.N
35.Y
36.N
37.Y
38.Y
39.N
40.Y
41.PIL、pillow
42.1,2,3
43.-4
44.45
45.2
46.10
47.False
48.[6,7,8,9]
49.[1,2,3]
50.可以
51.fo=open(”PY202.txt”,”w”)\r\n
defprime(num):\r\n
foriinrange(2,num);\r\n
ifnum%i==0;\r\n
returnFalse
returnTrue\r\n
ls=[51,33,54,56,67,88,431,111,141,72,45,2,78,13,15,5,69]\r\n
lis=[]\r\nforiinls:\r\n
ifprime(i)==False:\r\n
lis.append(i)\r\nfo.write(”>>>{},列表长度为{}”.format(lis.len(lis)))\r\n
fo.close()素数是只能被1和它本身整除的自然数。prime()函数用于判断一个数是否为素数,如果一个数num,能被2到num一1之间的任意一个整数整除,那该数不为素数(返回False),否则为素数(返回True)。\r\n最后,通过for循环遍历列表ls中的元素,通过调用函数判断该元素是否为素数,将不是素数的元素使用append()方法添加到一个新的列表lis中,再将新列表的元素和元素个数写入到文件中去。
52.(1)L=[]\r\n
fo=open("score.txt","r")\r\n
fi=open("candidate0.txt","w")\r\n
lines=fo.readlines()\r\n
forlineinlines:\r\n
line=line.strip()\r\n
student=line.split('')\r\n
sum=0\r\n
foriinrange(1,11):\r\n
sum+=int(student[-i])\r\n
studene.append(str(sum))\r\n
L.append(student):\r\n
L.sort(key=lambda.x:x[一1],reverse=True)\r\nforiinrange(10):\r\nfi.write('',join(L[i][:-1])+'\\n')\r\nfo.close()\r\nfi.close()(2)'''\r\n输入文件:candidate0.txt\r\n输出文件:candidate.txt\r\n'''\r\nfo=open("candidate0.txt","r")\r\nfi=open("candlidate.txt","w")\r\nL=[]#存储候选人\r\nlines=fo.readlines()\r\nforlineinlines:\r\n
line=line.strip()\r\n
student=line.split('')\r\n
foriinstudent[-10:]:\r\n
ifint(i)<60:\r\n
break\r\n
else:\r\n
I:append(student[:2])\r\nforiinL:\r\n
fi.write(''.join(i)+'\\n')\r\nfo.close()\r\nfi.close()(1)本题涉及”score.txt”和”candidate0.txt”两个文件。首先要读取”score.txt”文件中的信息,通过程序求出每个学生的总成绩,然后按总成绩从大到小排序,将总成绩排名前10的学生的学号、姓名以及10门课成绩写入到”candidate0.txt”文件中。打开文件用open()函数,用”r”只读模式打开文件”score.txt”,用”w”模式创建文件”cand:idate0.txt”。\r\n
”score.txt”文件中每行为一个学生的信息,需要用readlines()函数读入所有行,以每行为元素形成列表lines,然后用for循环遍历该列表中的每个元素。在遍历每个元素时,用strip()方法删除元素首尾出现的空格,用split()方法以空格分隔学生的学号、姓名以及10门课成绩得到列表studen
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 中学英语写作能力培养方案
- 视觉快感的生理与心理机制
- 一家公司基本管理17个制度
- 医院学术委员会工作流程指南
- 涤纶纤维面料应用市场细分与趋势
- 制造业自动化设备升级方案
- 房地产销售团队激励制度设计与实施
- 企业社会责任报告撰写方法与案例分析
- 资金安全课件引子
- 三年级数学下册单元测试题库全套
- 2026贵州省省、市两级机关遴选公务员357人考试备考题库及答案解析
- 手术区消毒和铺巾
- 儿童心律失常诊疗指南(2025年版)
- 北京通州产业服务有限公司招聘备考题库必考题
- (正式版)DBJ33∕T 1307-2023 《 微型钢管桩加固技术规程》
- 2026年基金从业资格证考试题库500道含答案(完整版)
- 2025年宠物疫苗行业竞争格局与研发进展报告
- 绿化防寒合同范本
- 2025年中国矿产资源集团所属单位招聘笔试参考题库附带答案详解(3卷)
- 气体灭火系统维护与保养方案
- GB/T 10922-202555°非密封管螺纹量规
评论
0/150
提交评论