2022年黑龙江省大庆市全国计算机等级考试Python语言程序设计专项练习(含答案)_第1页
2022年黑龙江省大庆市全国计算机等级考试Python语言程序设计专项练习(含答案)_第2页
2022年黑龙江省大庆市全国计算机等级考试Python语言程序设计专项练习(含答案)_第3页
2022年黑龙江省大庆市全国计算机等级考试Python语言程序设计专项练习(含答案)_第4页
2022年黑龙江省大庆市全国计算机等级考试Python语言程序设计专项练习(含答案)_第5页
已阅读5页,还剩16页未读 继续免费阅读

付费下载

下载本文档

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

文档简介

2022年黑龙江省大庆市全国计算机等级考试Python语言程序设计专项练习(含答案)学校:________班级:________姓名:________考号:________

一、单选题(30题)1.下列程序的输出是什么()A.A.endswith('.py'):py_list.append(file)print(py_list)

B.['foo.py','bar.py','spam.py','animal.py','test.py']

C.['foo.py','bar.txt','spam.py','animal.png','test.pyc']

D.['foo.py','spam.py','test.pyc']

E.['foo.py','spam.py']

2.以下程序的输出结果是()。a=[[1,2,3],[4,5,6],[7,8,9]]s=0forcina: forjinrange(3): s+=c[j]print(s)

A.[1,2,3,4,5,6,7,8,9]B.45C.24D.0

3.下列排序方法中,最坏情况下比较次数最少的是()。

A.冒泡排序B.简单选择排序C.直接插入排序D.堆排序

4.关系数据库中的键是指()。

A.关系的所有属性B.关系的名称C.关系的专用保留字D.能唯一标识元组的属性或属性集合

5.跳出所处的最近层循环的是()

A.breakB.continuesC.continueD.Pass

6.下列代码的结果是()A.A.numgreaterthan4B.numlessthan4C.TrueD.False

7.下面代码中Dog这个类中的init方法共包含几个形参?()ClassDog():def_______init________(self,name,age):self.name=nameSelf.age=age

A.0个B.1个C.2个D.3个

8.属于Python读取文件中一行内容的操作是()。

A.readtext()B.readline()C.readall()D.read()

9.以下操作中对象t=(1,3.7,5+2j,'test'),哪个是正确的()

A.t.remove(0)B.t.count()C.t.sortD.list(t)

10.设二叉树的中序序列为BDCA,后序序列为DCBA,则前序序列为()。

A.BCDAB.CBDAC.ABCDD.ACDB

11.结构化程序设计的基本原则不包括A.多态性B.自顶向下C.模块化D.逐步求精

12.下面关于CSV文件描述错误的是()。

A.CSV文件格式是一种通用的文件格式,应用于程序之间转移表格数据

B.CSV文件的每一行是一维数据,可以使用Python中的列表类型表示

C.CSV文件通过多种编码表示字符

D.整个CSV文件是一个二维数据

13.对于Python中的复数,下列说法错误的是()A.表示复数的语法是real+imagej

B.实部和虚部都是浮点数

C.虚部必须后缀j,且必须是小写

D.复数对象之间无法进行比较

14.以下代码的输出结果是()。lis=list(range(4))print(lis)

A.[0,1,2,3,4]B.[0,1,2,3]C.0,1,2,3,D.0,1,2,3,4,

15.float('inf')<float('inf')+1执行后的结果A.A.TrueB.False

16.下面代码的输出结果为()。foriinrange(8):ifi%2!=1:continueelse:print(i,end=”,”)

A.0,B.1,C.1,3,5,7,D.0,2,4,6,

17.以下程序的输出结果是()。t=10.5defabove_zero(t): returnt>0

A.TrueB.FalseC.10.5D.没有输出

18.如果文件a.txt在目录’C:\\A’下,执行以下代码会发生什么操作?()importosos.rmdir(r'C:\\A’)

A.删除文件夹A,保留文件a.txt

B.删除文件夹A和文件a.txt

C.删除文件a.txt,保留文件夹A

D.OSError

19.以下关于Python字典的描述中,错误的是()。

A.在Python中,用字典来实现映射,通过整数索引来查找其中的元素

B.在定义字典对象时,键和值用冒号连接

C.字典中的键值对之间没有顺序并且不能重复

D.字典中引用与特定键对应的值,用字典名称和方括号中包含键名的格式

20.以下构成Python循环结构的方法中,正确的是()。

A.whileB.loopC.ifD.do…for

21.以下关于语言类型的描述中,正确的是()。

A.静态语言采用解释方式执行,脚本语言采用编译方式执行

B.C语言是静态编译语言,Python语言是脚本语言

C.编译是将目标代码转换成源代码的过程

D.解释是将源代码一次性转换成目标代码同时逐条运行目标代码的过程

22.下列哪种情况不会导致Python对象的引用计数增加()

A.对象被创建B.被作为参数传递给函数C.成为容器对象的元素D.该对象无法访问时

23.以下关于Python字符串的描述中,错误的是()。

A.在Python字符串中,可以混合使用正整数和负整数进行索引和切片

B.Pythcm字符串采用[N:M]格式进行切片,获取字符串从索引N到M的子字符串(包含N和M)

C.字符串’my\\text.dat’中第一个\表示转义符

D.空字符串可以表示为""或"

24.以下属于Python语言中网络爬虫框架领域的第三方库的是()。

A.pandasB.grabC.xpinyinD.SnowNLP

25.在Python语言中,使用for..in..方式形成的循环不能遍历的类型是()。

A.列表B.复数C.字符串D.字典

26.以下程序的输出结果是()。Is=list(range(5))print(Is)

A.{0,1,2,3,4}B.[0,1,2,3,4]C.{l,2,3,4}D.[l,2,3,4]

27.以下代码的输出结果是()。Forsin"HelloWorld":ifs==”W”:continueprint(s,end="")

A.WorldB.HelloC.HelloorldD.HelloWorld

28.在软件开发中,需求分析阶段可以使用的工具是()。

A.N-S图B.数据流图C.PAD图D.程序流程图

29.有两个关系R、S如下:

由关系R通过运算得到关系S,则所使用的运算为()。

A.选择B.投影C.插入D.连接

30.用Pylnstaller工具把Python源文件打包成一个独立的可执行文件,使用的参数是()。

A.-LB.-C.-FD.-i

二、判断题(10题)31.定义类时如果实现了__len__()方法,该类对象即可支持内置函数len()。

A.是B.否

32.假设os模块已导入,那么列表推导式[filenameforfilenameinos.listdir('C:\\Windows')iffilename.endswith('.exe')]的作用是列出C:\Windows文件夹中所有扩展名为.exe的文件。

A.是B.否

33.已知x=3,那么赋值语句x='abcedfg'是无法正常执行的。

A.是B.否

34.继承自threading.Thread类的派生类中不能有普通的成员方法。

A.是B.否

35.无法删除集合中指定位置的元素,只能删除特定值的元素。

A.是B.否

36.在函数内部没有办法定义全局变量。

A.是B.否

37.假设有非空列表x,那么x.append(3)、x=x+[3]与x.insert(0,3)在执行时间上基本没有太大区别。A.是B.否

38.在Windows平台上编写的Python程序无法在Unix平台运行。A.是B.否

39.Python3.x完全兼容Python2.x。

A.是B.否

40.Python标准库threading中的Lock、RLock、Condition、Event、Semaphore对象都可以用来实现线程同步。

A.是B.否

三、填空题(10题)41.Python运算符中用来计算整商的是_________。

42.表达式'ab'in'acbed'的值为________。

43.已知函数定义deffunc(*p):returnsum(p),那么表达式func(1,2,3,4)的值为______。

44.已知列表x=[1,3,2],那么执行语句x.reverse()之后,x的值为____________。

45.表达式[xforxin[1,2,3,4,5]ifx<3]的值为_____________________。

46.表达式'a'+'b'的值为_____________。

47.使用列表推导式得到100以内所有能被13整除的数的代码可以写作___________________________________。

48.表达式isinstance(3,object)的值为_____________。

49.表达式'Helloworld'.swapcase().swapcase()的值为______________。

50.语句x=(3)执行后x的值为________________。

四、操作题(3题)51.考生文件夹下存在一个文件“PY202.py”,该文件是本题目的代码提示框架,其中代码可以任意修改,请在该文件中编写代码,以实现如下功能。输出九九乘法表。按照乘法表的格式输出九九乘法表,并将输出的结果保存在考生文件夹下,命名为“PY202.txt”。试题程序:#以下代码为提示框架#请在...处使用一行或多行代码替换#注意:提示框架的代码可以任意修改,以完成程序功能为准fo=open("PY202.txt","w")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.考生文件夹下存在一个Python源文件“PY301.py”,请按照文件内说明修改代码,实现以下功能。恺撒密码是一种非常古老的加密算法,相传当年恺撒大帝行军打仗时为了保证自己的命令不被敌军知道,它采用了替换方法将信息中的每一个英文字母循环替换为字母表序列中该字母后面的第三个字母,即循环后三位,对应关系如下。原文:ABCDEFGHIJKLMNOPQRSTUVWXYZ密文:DEFGHIJKLMNOPQRSTUVWXYZABC原文字母P,其密文字母C满足如下条件。C=(P+3)mod26解密方法反之,满足如下条件。P=(C-3)mod26恺撒密码包括加密算法和解密算法两个部分。恺撒密码的加密算法程序首先接收用户输入的文本,然后对字母a?z和字母A?Z按照密码算法进行转换,同时输出。其他非英文字母原样输出。试题程序:#以下代码为提示框架#请在...处使用一行或多行代码替换#注意..提示框架的代码可以任意修改,以完成程序功能为准intxt=input(“请输入明文:")

参考答案

1.D

2.B外层for循环是将a[0]=[1,2,3],a[1]=[4,5,6],a[2]=[7,8,9]依次赋给变量c;内层for循环将变量j从0递增到2,即累加c[1]+c[2]+c[3]的值。所以内层循环加外层循环是计算1+2+3+4+5+6+7+8+9的值,即s=45。本题选择B选项。

3.D冒泡排序、直接插入排序与简单选择排序法在最坏情况下均需要比较n(n-\n1)/2次,而堆排序在最坏情况下需要比较的次数是nlog2n。本题选择D选项。

4.D在关系(二维表)中凡是能唯一标识元组的最小属性集称为该关系的键或者码。

5.A

6.A

7.D_init_()方法是一个特殊的方法,每当根据类创建新实例时,Python会自动运行该方法。该方法的开头和结尾各有两个下划线,这是一种约定,旨在避免Python的默认方法和普通方法发生命名冲突。self,name,age都是init方法的形参,所以共3个。

8.B在Python中,文件读取方法如下(f代表文件变量)。f.read():从文件中读入整个文件内容。f.readline():从文件中读入一行内容。f.readlineS():从文件中读入所有行,以每行为元素形成一个列表。f.seek():改变当前文件操作指针的位置。本题选择B选项。

9.D

10.C由于后序序列最后遍历根结点,故可确定该二叉树的根结点为A。根据前序序列首先访问根结点A,可排除A、B两项。由中序序列为BDCA,可确定该二叉树只有左子树,没有右子数,再由后序序列为DCBA,可确定左子树的根结点为B。前序序列访问完该树的根结点A后,再访问左子树的根结点B,故答案为C项。

11.A结构化程序设计方法的主要原则可以概括为:自顶向下,逐步求精,模块化和限制使用GOTO语句,其中不包括多态性。

12.CCSV文件采用纯文本格式,通过单一编码表示字符。以行为单位,开头不留空行,行之间没有空行。每行表示一个一维数据,多行表示多维数据。以逗号分隔每列数据,列数据为空也要保留逗号。本题选择C选项。

13.C

14.B用中括号([])表示列表类型,也可以通过list(x)函数将集合或字符串类型转换成列表类型。此代码生成列表lis=[0,1,2,3],最后通过print()函数输出。本题选B选项。

15.B

16.C该程序段是输出8以内的奇数,continue语句只结束本次循环,不终止整个循环的执行。

17.D在Python中,return语句用来结束函数并将程序返回到函数被调用的位置继续执行。return语句可以出现在函数的任何部分,可以同时将0个、1个或多个函数运算结果返回给函数被调用处的变量。函数可以没有return,此时函数并不返回值。return返回的是值而不是表达式,且此段语句并未调用函数,故程序无输出。本题选择D选项。

18.D使用rmdir()删除目录之前要先清除其中所有的文件,否则会报OSError错误。

19.A在Python中,字典是存储可变数量键值对的数据结构,通过字典类型实现映射。字典使用花括号({})建立,每个元素是一个键值对,使用方式为{<键1>:<值1>,<键2>:<值2>,…,<键n>:<值n>},其中,键和值通过冒号连接,不同键值对通过逗号隔开。字典具有和集合类似的性质,即键值对之间没有顺序且不能重复。通过键可以索引值,并可以通过键修改值,因此可以直接利用键值对关系索引元素。索引模式:<值>=<字典变量>[<键>]。本题选择A选项。

20.APython中的循环结构有for语句和while语句。if是选择结构语句。本题选择A选项。

21.B高级语言根据计算机执行机制的不同可分为两类:静态语言和动态语言。静态语言采用编译方式执行,脚本语言采用解释方式执行。例如,C语言是静态语言,Python是脚本语言。编译是将源代码转换成目标代码的过程。解释是将源代码逐条转换成目标代码同时逐条运行目标代码的过程。本题选B选项。

22.D

23.BPython字符串采用[N:M]格式进行切片,获取字符串从索引N到M的子字符串(包含N,不包含M)。本题选择B选项。

24.BA项是Python数据分析方向的一个库,C项是Python中一个用于把汉字转换成拼音的库,D项是Python中用来处理中文文本的库。

25.B在Python语言中,使用for..in..方式形成的循环能遍历的类型有字符串、文件、range()函数或组合数据类型,不能遍历复数。

26.Brange()函数的语法格式为range(\nstart,stop,step),作用是生成一个从start参数的值开始,到stop参数的值结束的数字序列(注意不包含参数stop)\n,step是步进参数。一般默认start为0,步进step=1,如range(5),生成0、1、2、3、4。list()生成列表,所以最后列表IS=\n[0,1,2,3,4]。本题选择B选项。

27.Cforsin'HelloWorld”:将字符串HelloWorld中的字符依次赋给变量s,之后进行if判断,如果s=\n'W”,则continue,执行下一个循环,不执行print(s,end='”),否则执行print(s,end\n=''),所以最后输出的结果是Helloorld。本题选择C选项。

28.B在需求分析阶段可以使用的工具有数据流图,数据字典(DataDictionary,DD),判定树与判定表,本题选择B选项。

29.B投影运算是指对于关系内的域指定可引入新的运算。本题中S是在原有关系R的内部进行的,是由R中原有的那些域的列所组成的关系。本题选择B选项。

30.CPylnstaller工具没有-L参数;-D是默认值,生成dlst目录;-F是指在dlst文件夹中只生成独立的打包文件;-i是指定打包程序使用的图标文件。本题选择C选项。

31.Y

32.Y

33.N

34.N

35.Y

36.N

37.N

38.Npython代码支持window和Linux下跨平台

39.N

40.Y

41.//

42.False

43.10

44.[2,3,1]

45.[1,2]

46.'ab'

47.[iforiinrange(100)ifi%13==0]

48.True

49.'Helloworld'

50.3

51.fo=open("PY202.txt","w")Foriinrange(1,10):Forjinrange(1,i+1):Fowrite(“{}={}={}”.format(j,i,i*j))Fo.write(“\\n”)fo.close()输出《九九乘法表》,首先要先查看乘法表的规律,乘法表竖向是1-9,横向的每行是从1到每行的行号,所以可以使用两个for循环遍历输出。格式可以使用format()方法控制,最后把输出的《九九乘法表》存入文件\r\nPY202.txt中。

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门课成绩得到列表student。由于要求出总成绩,因此要使用for遍历每个学生的10门课成绩,将其累加赋值给sum,并将sum追加到student中。最后将student中所有元素追加到列表L中。\r\n

随后,对列表L中的元素进行排序,用到sort()方法,参数”key=lambdax:x[一1]”中lambda是一个隐函数,是固定写法,不能写成别的单词;

温馨提示

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

评论

0/150

提交评论