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

下载本文档

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

文档简介

2022年黑龙江省黑河市全国计算机等级考试Python语言程序设计真题(含答案)学校:________班级:________姓名:________考号:________

一、单选题(30题)1.Python中heapq是一种()数据结构

A.树型数据结构B.列表数据结构C.队列数据结构D.链表数据结构

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

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

3.下面关于递归函数,描述错误的是()。

A.递归函数必须有一个明确的结束条件

B.递归函数就是一个函数在内部调用自身本身

C.递归效率不高,递归层次过多会导致栈溢出

D.每进入更深一层的递归时,问题规模相对于前一次递归是不变的

4.有3个关系R、S、T如下:

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

A.并B.自然连接C.笛卡儿积D.交

5.为以下程序填空,使得输出结果是{40:‘yuwen’,20:‘yingyu’,30:‘shuxu’}的选项是()。tb={‘yingyu’:20,‘shuxue’:30,‘yuwen’:40}stb={}foritintb.items(): print(it) _________print(stb)

A.stb[it[1]]=it[0]

B.stb[it[1]]=stb[it[0]]

C.stb[it[1]]=tb[it[1]]

D.D.stb[it[1]]=tb[it[0]]

6.以下程序执行后,book.txt文件的内容是()。fo=open(“book.txt”,“w”)ls=[‘book’,‘23’,‘201009’,‘20’]fo.write(str(ls))fo.close()

A.[‘book’,‘23’,‘201009’,‘20’]

B.book,23,201009,20

C.[book,23,201009,20]

D.book2320100920

7.在Python中,不属于机器学习领域第三方库的是()。

A.TensorFlowB.timeC.pytorchD.mxnet

8.循环队列的存储空间为Q(1:50)。经过一系列正常的入队与退队操作后,front=rear=25。后又成功地将一个元素退队,此时队列中的元素个数为()。

A.24B.49C.26D.0

9.软件生命周期是指()。A.软件产品从提出、实现、使用维护到停止使用退役的过程

B.软件从需求分析、设计、实现到测试完成的过程

C.软件的开发过程

D.软件的运行维护过程

10.以下程序被调用后,能够正确执行的是()。deff(x,y=1,z=2):pass

A.f(x=1,2)B.f(x=1,y=2,z=3)C.f(1,x=2,z=3)D.f(1,y=2,3)

11.下面代码的输出结果是()。deff(n):ifn==1:return1else:returnn*f(n-1)print(f(4))

A.24B.4C.0D.10

12.关于以下代码的描述中,正确的是()。defrune(a,b):c=a**2+bb=areturnca=10b=2c=func(b,a)+a

A.执行该函数后,变量c的值为112

B.该函数名称为fun

C.执行该函数后,变量b的值为2

D.执行该函数后,变量b的值为10

13.执行以下代码的结果是()A.-1B.0C.4D.异常报错

14.以下程序的输出结果是()。defadd(x): ifx>0: returnx+add(x-1) else: return0result=add(10)print(result)

A.0B.10C.55D.45

15.以下代码的输出结果是()。CLis=list(range(5))print(5inCLis)

A.TrueB.FalseC.0D.一1

16.软件设计中模块划分应遵循的准则是()。A.低内聚低耦合

B.高内聚低耦合

C.低内聚高耦合

D.高内聚高耦合

17.树的度为3,共有29个结点,但没有度为1和2的结点。则该树中叶子结点数为()。

A.OB.9C.18D.不可能有这样的树

18.以下python数据类型中不支持索引访问的是()

A.字符串B.列表C.元组D.集合

19.以下描述中,正确的是()。

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

20.以下关于数据维度的描述,错误的是()。

A.—维数据由对等关系的有序或无序数据构成,采用线性方式组织,对应于数学中的集合或数组的概念

B.二维数据由关联关系构成,采用表格方式组织,对应于数学中的矩阵

C.高维数据由键值对类型的数据组成,采用对象方式组织

D.—维数据由对等关系的有序数据构成,无序数据不是一维数据

21.某完全二叉树有256个节点,则该二叉树的深度为()。

A.7B.8C.9D.10

22.在Python3下输入100000000L,会得到()

A.100000000LB.100000000C.SyntaxError:invalidsyntaxD.1e8

23.下列叙述中正确的是()。

A.算法的时间复杂度是指算法在执行过程中基本运算的次数

B.算法的时间复杂度是指算法执行所需要的时间

C.算法的时间复杂度是指算法执行的速度

D.算法复杂度是指算法控制结构的复杂程度

24.定义学生的关系模式如下:S(S#,Sn,Sex,Age,D#,Da(其属性分别为学号、姓名、性别、年龄、所属学院、院长)该关系满足的最高范式是()。

A.1NFB.2NFC.3NFD.BCNF

25.下面代码的意义是()。>>>car='BWM’>>>Id(car)

A.查看变量所占的位数B.转换成布尔值C.查看变量在内存中的地址D.把变量中的元素随机排列

26.以下程序的输出结果是()。f=lambdax,y:xifx<yelseya=f(“aa”,“bb”)b=f(“bb”,“aa”)print(a,b)

A.aaaaB.aabbC.bbaaD.bbbb

27.下列叙述中正确的是()。

A.找是“先进先出”的线性表

B.队列是“先进后出”的线性表

C.循环队列是非线性结构

D.有序线性表既可以釆用顺序存储结构,也可以采用链式存储结构

28.软件按功能可以分为应用软件、系统软件及支撑软件(或工具软件)。下面属于应用软件的是()。

A.编译程序B.操作系统C.教务管理系统D.汇编程序

29.以下程序的输出结果是()。d={}foriinrange(26): d[chr(i+ord(“A”))]=chr((i+13)%26+ord(“A”))forcin“Python”: print(d.get(c,c),end=“”)

A.PlgubaB.CabuglC.PythonD.Cython

30.以下程序的输出结果是()。test={“age”:“18”,“score”:“[89,95]”,“name”:“Hawking”}print(test[“score”],test.get(“name”,“Rose”))

A.89,95Hawking

B.[89,95]Hawking

C.[89,95]Rose

D.[89,95]name

二、判断题(10题)31.Python标准库random的方法randint(m,n)用来生成一个[m,n]区间上的随机整数。

A.是B.否

32.Python扩展库xlwt支持对Excel2003或更低版本的Excel文件进行写操作。

A.是B.否

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

34.在类定义的外部没有任何办法可以访问对象的私有成员。

A.是B.否

35.3+4j是合法Python数字类型。

A.是B.否

36.只有Python扩展库才需要导入以后才能使用其中的对象,Python标准库不需要导入即可使用其中的所有对象和方法。

A.是B.否

37.相同内容的字符串使用不同的编码格式进行编码得到的结果并不完全相同。

A.是B.否

38.对于生成器对象x=(3foriinrange(5)),连续两次执行list(x)的结果是一样的。

A.是B.否

39.只能对列表进行切片操作,不能对元组和字符串进行切片操作。

A.是B.否

40.在定义函数时,某个参数名字前面带有一个*符号表示可变长度参数,可以接收任意多个普通实参并存放于一个元组之中。

A.是B.否

三、填空题(10题)41.在Python中定义类时,与运算符“//”对应的特殊方法名为_______________。

42.表达式'abcdefg'.split('d')的值为__________________。

43.random模块中_____________方法的作用是将列表中的元素随机乱序。

44.表达式''.join('asdssfff'.split('sd'))的值为____________。

45.Python标准库os.path中用来判断指定路径是否为文件夹的方法是______________。

46.已知a=[1,2,3]和b=[1,2,4],那么id(a[1])==id(b[1])的执行结果为___________。

47.已知列表x=list(range(5)),那么执行语句x.remove(3)之后,表达式x.index(4)的值为________。

48.已知x=[3,2,3,3,4],那么表达式[indexforindex,valueinenumerate(x)ifvalue==3]的值为____________。

49.表达式{1,2,3}-{3,4,5}的值为_________。

50.表达式not3的值为________________。

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

52.考生文件夹下存在一个文件“PY301.py”,该文件是本题目的代码提示框架,其中代码可以任意修改。请按照源文件内部说明修改代码,实现以下功能。设计一个猜字母的程序,程序随机给出26个小写字母中的一个,答题者输入猜测的字母,若输入的不是26个小写字母之一,让用户重新输入;若字母在答案之前或之后,程序给出相应正确提示;若答错5次,则答题失败并退出游戏;若回答正确,程序输出回答次数并退出游戏。试题程序:#以下代码为提示框架#请在...处使用一行或多行代码替换#请在_____处使用一行代码替换#注意:提示框架的代码可以任意修改,以完成程序功能为准

53.考生文件夹下存在两个Python源文件“PY301-1.py”和“PY301-2.py”,分别对应两个问题,请按照文件内说明修改代码,实现以下功能。李白,字太白,号青莲居士,又号“谪仙人”,是唐代伟大的浪漫主义诗人,被后世誉为“诗仙”。考生文件夹下有一个“关山月.txt”文件,内容如下。明月出天山,苍茫云海间。长风几万里,吹度玉门关。汉下白登道,胡窥青海湾。由来征战地,不见有人还。戍客望边邑,思归多苦颜。高楼当此夜,叹息未应闲。问题1:这是一段由标点符号分隔的文本,请编写程序,以“。”句号为分隔,将这段文本转换为诗词风格,输出到文件“关山月-诗歌.txt”中。试题程序:#以下代码为提示框架#请在...处使用一行或多行代码替换#注意:提示框架的代码可以任意修改,以完成程序功能为准fi=open("关山月.txt","r")…fi.close()fo.close()问题2:把问题1生成的“关山月-诗歌.txt”文件,以每行为单位,保留标点符号为原顺序和位置,输出全文的反转形式。将文件保存在考生文件夹下并命名为“关山月-反转.txt”。输出的形式如下。高楼当此夜,叹息未应闲。戍客望边邑,思归多苦颜。由来征战地,不见有人还。汉下白登道,胡窥青海湾。长风几万里,吹度玉门关。明月出天山,苍茫云海间。试题程序:#以下代码为提示框架#请在...处使用一行或多行代码替换#注意:提示框架的代码可以任意修改,以完成程序功能为准fi=open("关山月-诗歌.txt","r")fo=open(“关山月-反转.txt","w")…fi.close()fo.close()

参考答案

1.A

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

3.DA选项正确,递归函数必须要有一个明确的结束条件作为递归的出口;B选项正是递归函数的含义,正确;C选项正确,在计算机中,函数调用是通过栈这种数据结构实现的,每当进入一个函数调用,栈就会加一层栈帧,每当函数返回,栈就会减一层栈帧,由于栈的大小不是无限的,所以,递归调用的次数过多,会导致栈溢出;D选项,每当进入更深一层的递归时,问题规模显然会相对前一次递归减小。

4.D自然连接是一种特殊的等值连接,它要求两个关系中进行比较的分量必须是相同的属性组,并且在结果中把重复的属性列去掉,所以B选项错误。笛卡儿积是用R集合中元素为第一元素,S集合中元素为第二元素构成的有序对,所以C选项错误。可以很明显地看出,关系T是从关系R与关系S中取得的相同的关系组,所以使用的是交运算。本题选择D选项。

5.A分析题目和程序代码可知,题意是将字典中的键值互换。tb.items()以列表形式(并非直接的列表,若要返回列表值还需调用list()函数)返回可遍历的(键,值)元组数组。因此,for循环中it每次遍历得到的是一个元组,依次为(‘yingyu’,20)、(‘shuxue’,30)、(‘yuwen’,40),然后将元组中索引为0的元素和索引为1的元素互换位置,实现字典中键值的互换,应填入stb[it[1]]=it[0]。本题选择A选项。

6.A执行fo=open(“book.txt”,“W”),打开book.txt文件,打开模式为“W”(覆盖写模式);创建列表ls=[“book”,“23”,“201009”,“20”];str()函数返回一个对象的字符串格式,str(ls)将列表类型的ls转换为字符串类型,fo.write(str(ls))将字符串写入book.txt文件中。本题选择A选项。

7.B在Python中,time是Python重要的标准库之一,用于处理时间相关的问题,不属于机器学习领域的第三方库。TensorFLow、PyTorch、mxnet均属于机器学习领域第三方库。本题选择B选项。

8.B当front=rear时可知队列要么为空要么队列满,题目又成功地将一个元素退队,说明之前队列为满(为空时队列中无元素),退出一个元素后队列中还有50一1=49个元素。本题选B选项。

9.A通常,将软件产品从提出、实现、使用维护到停止使用退役的过程称为软件生命周期。也就是说,软件产品从考虑其概念开始,到该软件产品不能使用为止的整个时期都属于软件生命周期。

10.B函数的参数在定义时可以指定默认值,当函数被调用时,如果没有传人对应的参数值,则使用函数定义时的默认值替代。本题在定义函数时,y=1,z=2就是指定的默认值。在Python中,函数调用时,参数传递的主要方式有位置传递和关键字传递两种。位置传递是根据函数定义的参数位置来传递参数;关键字传递是根据每个参数的名字传递参数,该方式不用区分参数顺序位置,名字对了就行。关键字传递可以和位置传递混用,但混用时位置参数要出现在关键字参数之前。A项,第一个参数为关键字传递,第二个参数为位置传递,混用顺序不对;D项,第二个参数为关键字传递,第三个参数为位置传递,混用顺序不对;C项,第一个参数已经使用位置传递(将1传递给x),第二个参数又使用关键字传递将2传递给x,会出现异常报错。故答案为B项。

11.A该代码的功能是根据传入的参数求取该数的阶乘,经过一系列的运算将结果返回,4的阶乘为24。本题选择A选项。

12.C程序中,将实参b的值传给形参a,将实参a的值传给形参b,则在函数体中c=2**2+10=14,函数返回14,则实参c=14+10=24;形参a和b在函数结束后会自动释放,并没有影响到实参a和b的值,故实参a仍然是10,实参b仍然是2。

13.D

14.C该函数是一个递归函数,用来计算1到10之间的所有数的和,使用函数时必须调用函数,即函数名(<参数>),也可以将函数对象实例化。结果为55。本题选择C选项。

15.Brange()函数的语法:range(start,stop,step),作用是生成一个从start参数的值开始,到stop参数的值结束的数字序列(注意不包含数stop),step是步进参数。cLis=list(range(5)),生成一个列表,包含0,1,2,3,4。因为5不在CLis列表中,故返回False。

16.B解析:耦合性和内聚性足模块独立性的两个定性标准。内聚性是一个模块内部各个元素间彼此结合的紧密程度的度量,作为软件结构设计的设计原则,要求每个模块的内部都具有很强的内聚性;耦合性是指模块间相互连接的紧密程度的度量,一个模块与其他模块的耦合性越强则该模块的独立性越弱。一般优秀的软件设计应尽量做到高内聚、低耦合,即减弱模块之间的耦合性和提高模块内的内聚性,有利于提高模块的独立性。

17.D树的度为3,即树中只存在度为0、1、2、3的结点,假设叶子结点数为n,由于没有度为1和2的结点,则度为3的结点数为29一n,根据树中的结点数=树中所有结点的度之和+1,得3×(29一n)+0×1+0×2+n×0+1=29,得出的n不为整数,因此不存在这样的树。本题选择D选项。

18.D

19.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选项。

20.D任何可以以序列或集合表示的内容都可以看作一维数据。本题选择D选项。

21.C

22.C

23.A算法的时间复杂度是指执行算法所需要的计算工作量,其计算工作量是用算法所执行的基本运算次数来度量的。本题选择A选项。

24.B关系数据库中的关系是要满足一定要求的,满足不同程度要求的为不同的范式。满足最低要求的叫第一范式,简称1NF。在满足第一范式的基础上,进一步满足更多要求的则是第二范式。在满足第二范式的基础上,还可以再满足第三范式,以此类推。对于关系模式,若其中的每个属性都已不能再分为简单项,则它属于第一范式。若某个关系R为第一范式,并且R中每一个非主属性完全依赖于R的某个候选键,则称其为第二范式。第二范式消除了非主属性对主键的部分依赖。如果关系R是第二范式,并且每个非主属性都不传递依赖于R的候选键,则称R为第三范式。(传递依赖:在关系模式中,如果Y→X,X→A,且X不决定Y、A不属于X,那么Y→A是传递依赖。)本题中,关系S满足第一范式和第二范式,但是S#→D#,D#→Da,存在传递依赖,因此不满足第三范式。该关系满足的最高范式是2NF。本题选择B选项。

25.Cid(x)是Python中的内置函数,用来查看变量在内存中的地址。本题选择C选项。

26.Alambda关键字用来定义匿名函数,语法为<函数名>=lambda<参数列表>:<表达式>。本题比较字符串大小,因为aa<bb,所以输出均为aa。本题选择A选项。

27.D栈是先进后出的线性表,所以A选项错误;队列是先进先出的线性表,所以B选项错误;循环队列是线性结构的线性表,所以C选项错误。本题选择D选项。

28.C编译软件、操作系统、汇编程序都属于系统软件,只有教务管理系统才是应用软件。本题选择C选项。

29.Dord()函数是把字符转换成对应的ASCII值,chr()函数是ord()函数的逆运算,即把ASCII值转换成对应的字符输出,所以ord(“A”)为65。第一个for循环的作用是生成键值对存储在字典变量d中。例如,当i=0,d[A]=N;i=1,d[B]=0……—直到i=13,d[N]=A,后面的键和值与前面的是互换位置的,如i=14,d[0]=B;i=15,d[P]=C……依次循环赋值,直到i=25时结束for循环。第二个for循环的作用是输出字典的值,get(key,default=None)函数有两个参数:第一个参数是字典的键;第二个参数是默认值,作用是返回字典中key对应的值,如果key不存在,则返回默认值,如d={“A”:“N”,“0”:“B”,“Z”:“M”},d.get(“A”,“C”)返回的是N。当c=“P”时,在字典中查找是否存在键为“P”的值,遍历后发现存在这样的值,所以返回C。for循环继续遍历剩下的字符,在字典中找不到对应的键,则返回默认值,所以结果返回为Cython。本题选择D选项。

30.B“score”键对应的值是列表类型“[89,95]”,字典的get(key,default)方法:键存在则返回对应值,否则返回默认值default。“name”键存在于字典中,所以返回的是对应值而不是默认值。本题选择B选项。

31.Y

32.Y

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

34.N

35.Y

36.N

37.Y

38.N

39.N

40.Y

41.__floordiv__()

42.['abc','efg']

43.shuffle()

44.'assfff'

45.isdir()

46.True

47.3

48.[0,2,3]

49.{1,2}

50.False

51.intxt=input(”请输入明文:”)ForpinintxtIf”a”<=p<=”z”:Print(chr(ord(“a”)+(ord(p)-ord(“a”)+3%26),end=””)Elif”A”<=p<=”z”:Print(chr(ord(“A”)+(ord(p)-ord(“A”)+3%26),end=””)Else:Print(p,end=””)使用for循环遍历输入的每一个字符:如果输入的字符是大小写字母,把该字母替换为该字母后面的第三个字母,将转换后的字母进行输出;如果输入的字符不是大小写字母,则原样输出字符,该部分功能通过if多分支结构实现。

52.importletter_list=[‘a’,‘b’,'c','d’,‘e’,'f’,’g’,‘h’,‘i’,‘j’,‘k’,‘l’,’m’,‘n’,‘o’,‘p’,’q’,‘r’,‘s’,’t’,‘u’,‘v’,’w’,‘x’,‘y’,‘z’]letter=letter一list[random.randint(0,25)]count=0whileTrue:Letter_

温馨提示

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

评论

0/150

提交评论