全国计算机等级考试二级Python真题及解析2.docx
《全国计算机等级考试二级Python真题及解析2.docx》由会员分享,可在线阅读,更多相关《全国计算机等级考试二级Python真题及解析2.docx(15页珍藏版)》请在冰豆网上搜索。
![全国计算机等级考试二级Python真题及解析2.docx](https://file1.bdocx.com/fileroot1/2023-1/7/25ae9f80-8eb7-4284-9662-209a25a62f7f/25ae9f80-8eb7-4284-9662-209a25a62f7f1.gif)
全国计算机等级考试二级Python真题及解析2
全国计算机等级考试二级Python真题及解析
(2)
一、选择题
1.关于算法的描述,以下选项中错误的是
A算法具有可行性、确定性、有穷性的基本特征
B算法的复杂度主要包括时间复杂度和数据复杂度
C算法的基本要素包括数据对象的运算和操作及算法的控制结构
D算法是指解题方案的准确而完整的描述正确答案:
B
2.关于数据结构的描述,以下选项中正确的是
A数据的存储结构是指反映数据元素之间逻辑关系的数据结构
B数据的逻辑结构有顺序、链接、索引等存储方式
C数据结构不可以直观地用图形表示
D数据结构指相互有关联的数据元素的集合
正确答案:
D
3.在深度为7的满二叉树中,结点个数总共是
A64
B127
C63
D32正确答案:
B
4.对长度为n的线性表进行顺序查找,在最坏的情况下所需要的比较次数是
Anx(n+1)
Bn-1
Cn
Dn+1
正确答案:
C
5.关于结构化程序设计方法原则的描述,以下选项中错误的是
A逐步求精
B多态继承
C模块化
D自顶向下
正确答案:
B
6.与信息隐蔽的概念直接相关的概念是
A模块独立性
B模块类型划分
C模块耦合度
D软件结构定义
正确答案:
A
7.关于软件工程的描述,以下选项中描述正确的是
A软件工程包括3要素:
结构化、模块化、面向对象
B软件工程工具是完成软件工程项目的技术手段
C软件工程方法支持软件的开发、管理、文档生成
D软件工程是应用于计算机软件的定义、开发和维护的一整套方案、工具、文档和实践标准和工序
正确答案:
D
8.在软件工程详细设计阶段,以下选项中不是详细设计工具的是
A程序流程图
BCSS
CPAL
D判断表
正确答案:
B
9.以下选项中表示关系表中的每一横行的是
A属性
B列
C码
D元组正确答案:
D
10.将E-R图转换为关系模式时,可以表示实体与联系的是
A关系
B键
C域
D属性正确答案:
A
11.以下选项中Python用于异常处理结构中用来捕获特定类型的异常的保字是
Aexcept
Bdo
Cpass
Dwhile
正确答案:
A
12.以下选项中符合Python语言变量命名规则的是
A*i
B3_1
CAI!
DTemplist
正确答案:
D
13.关于赋值语句,以下选项中描述错误的是
A在Python语言中,有一种赋值语句,可以同时给多个变量赋值
B设x="alice";y="kate",执行x,y=y,x可以实现变量x和y值的互换C设a=10;b=20,执行a,b=a,a+bprint(a,b和a=b,b=a+bprint(a,b)之后,得到同样的输出结果:
1030
D在Python语言中,“=”表示赋值,即将“=”右侧的计算结果赋值给左侧变量,包含“=”的语句称为赋值语句
正确答案:
C
14.关于eval函数,以下选项中描述错误的是
Aeval函数的作用是将输入的字符串转为Python语句,并执行该语句
B如果用户希望输入一个数字,并用程序对这个数字进行计算,可以采用eval(input(<输入提示字符串>))组合
C执行eval("Hello")和执行eval("'Hello'")得到相同的结果
Deval函数的定义为:
eval(source,globals=None,locals=None,/)正确答案:
C
15.关于Python语言的特点,以下选项中描述错误的是
APython语言是非开源语言
BPython语言是跨平台语言
CPython语言是多模型语言
DPython语言是脚本语言
正确答案:
A
16.关于Python的数字类型,以下选项中描述错误的是
APython整数类型提供了4种进制表示:
十进制、二进制、八进制和十六进制
BPython语言要求所有浮点数必须带有小数部分
CPython语言中,复数类型中实数部分和虚数部分的数值都是浮点类型,复数的虚数部分通过后缀“C”或者“c”来表示
DPython语言提供int、float、complex等数字类型
正确答案:
C
17.关于Python循环结构,以下选项中描述错误的是
A遍历循环中的遍历结构可以是字符串、文件、组合数据类型和range()函
数等
Bbreak用来跳出最内层for或者while循环,脱离该循环后程序从循环代码后继续执行
C每个continue语句只有能力跳出当前层次的循环
DPython通过for、while等保留字提供遍历循环和无限循环结构正确答案:
C
18.关于Python的全局变量和局部变量,以下选项中描述错误的是
A局部变量指在函数内部使用的变量,当函数退出时,变量依然存在,下次函数调用可以继续使用
B使用global保留字声明简单数据类型变量后,该变量作为全局变量使用
C简单数据类型变量无论是否与全局变量重名,仅在函数内部创建和使用,函数退出后变量被释放
D全局变量指在函数之外定义的变量,一般没有缩进,在程序执行全过程有效
正确答案:
A
19.关于Python的lambda函数,以下选项中描述错误的是
A可以使用lambda函数定义列表的排序原则
Bf=lambdax,y:
x+y执行后,f的类型为数字类型
Clambda函数将函数名作为函数结果返回
Dlambda用于定义简单的、能够在一行内表示的函数
正确答案:
B
20.下面代码实现的功能描述的是
deffact(n):
ifn==0:
return1
else:
returnn*fact(n-1)
num=eval(input(”请输入一个整数:
"))print(fact(abs(int(num))))
A接受用户输入的整数n,判断n是否是素数并输出结论
B接受用户输入的整数n,判断n是否是完数并输出结论
C接受用户输入的整数n,判断n是否是水仙花数
D接受用户输入的整数n,输出n的阶乘值
正确答案:
D
21.
执行如下代码:
importtimeprint(time.time())
以下选项中描述错误的是
Atime库是Python的标准库
B可使用time.ctime(),显示为更可读的形式
Ctime.sleep(5)推迟调用线程的运行,单位为毫秒
D输出自1970年1月1日00:
00:
00AM以来的秒数
正确答案:
C
22.
执行后可以查看Python的版本的是
Aimportsysprint(sys.Version)
Bimportsystemprint(system.version)
Cimportsystemprint(system.Version)
Dimportsysprint(sys.version)
正确答案:
D
23.关于Python的组合数据类型,以下选项中描述错误的是
A组合数据类型可以分为3类:
序列类型、集合类型和映射类型
B序列类型是二维元素向量,元素之间存在先后关系,通过序号访问
CPython的str、tuple和list类型都属于序列类型
DPython组合数据类型能够将多个同类型或不同类型的数据组织起来,通
过单一的表示使数据操作更有序、更容易
正确答案:
B
24.以下选项中,不是Python对文件的读操作方法的是
Areadline
Breadall
Creadtext
Dread
正确答案:
C
25.关于Python文件处理,以下选项中描述错误的是
APython能处理JPG图像文件
BPython不可以处理PDF文件
CPython能处理CSV文件
DPython能处理Excel文件
正确答案:
B
26.以下选项中,不是Python对文件的打开模式的是
A'w'
B'+'
C'c'
D'r'
正确答案:
C
27.关于数据组织的维度,以下选项中描述错误的是
A一维数据采用线性方式组织,对应于数学中的数组和集合等概念
B二维数据采用表格方式组织,对应于数学中的矩阵
C高维数据由键值对类型的数据构成,采用对象方式组织
D数据组织存在维度,字典类型用于表示一维和二维数据
正确答案:
D
28.Python数据分析方向的第三方库是
Apdfminer
Bbeautifulsoup4
Ctime
Dnumpy
正确答案:
D
29.Python机器学习方向的第三方库是
APIL
BPyQt5
CTensorFlow
Drandom正确答案:
C
30.PythonWeb开发方向的第三方库是
ADjango
Bscipy
Cpandas
Drequests正确答案:
A
31.下面代码的输出结果是x=0b1010print(x)
A16
B256
C1024
D10
正确答案:
D
32.下面代码的输出结果是x=10y=-1+2jprint(x+y)
A9
B2j
C11
D(9+2j)正确答案:
D
33.下面代码的输出结果是x=3.1415926print(round(x,2),round(x))A33.14
B22
C6.283
D3.143正确答案:
D
34.下面代码的输出结果是forsin"HelloWorld":
ifs=="W":
break
print(s,end="")
AHello
BWorld
CHelloWorld
DHelloorld正确答案:
A
35.以下选项中,输出结果是False的是
A>>>5isnot4
B>>>5!
=4
C>>>False!
=0
D>>>5is5正确答案:
C
36.下面代码的输出结果是
a=1000000
b="-"print("{0:
{2}A{1},}\n{0:
{2}>{1},}\n{0:
{2}v{1},}".format(a,30,b))
A
1,000,000
1,000,000
1,000,000
B
1,000,000
1,000,000
1,000,000
C
1,000,000
1,000,000
1,000,000
D
1,000,000
1,000,000
1,000,000
正确答案:
D
37.
下面代码的输出结果是
s=["seashell","gold","pink","brown","purple","tomato"]print(s[4:
])
A['purple']
B['seashell','gold','pink','brown']
C['gold','pink','brown','purple','tomato']
D['purple','tomato']
正确答案:
D
38.
执行如下代码:
importturtleastdefDrawCctCircle(n):
t.penup()
t.goto(0,-n)
t.pendown()
t.circle(n)foriinrange(20,80,20):
DrawCctCircle(i)
t.done()
在PythonTurtleGraphics中,绘制的图形是
A同切圆
B同心圆
C笛卡尔心形
D太极
正确答案:
B
39.
给出如下代码:
fname=input(”请输入要打开的文件:
")
fo=open(fname,"r")forlineinfo.readlines():
print(line)
fo.close()关于上述代码的描述,以下选项中错误的是
A通过fo.readlines()方法将文件的全部内容读入一个字典foB通过fo.readlines()方法将文件的全部内容读入一个列表fo
C上述代码可以优化为:
fname=input("请输入要打开的文件:
")
fo=open(fname,"r")forlineinfo.readlines():
print(line)
fo.close()
D用户输入文件路径,以文本文件方式读入文件内容并逐行打印
正确答案:
A
40.能实现将一维数据写入CSV文件中的是A
fo=open("price2016bj.csv","w")
ls=['AAA','BBB','CCC','DDD']fo.write(",".join(ls)+"\n")fo.close()
B
fr=open("price2016.csv","w")
ls=[]forlineinfo:
line=line.replace("\n","")ls.append(line.split(","))print(ls)fo.close()
C
fo=open("price2016bj.csv","r")
ls=['AAA','BBB','CCC','DDD']fo.write(",".join(ls)+"\n")fo.close()
D
fname=input(”请输入要写入的文件:
")
fo=open(fname,"w+")
ls=["AAA","BBB","CCC"]
fo.writelines(ls)forlineinfo:
print(line)
fo.close()
正确答案:
A
二、操作题
1.编写Python程序输出一个具有如下风格效果的文本,用作文本进度条样式,部分代码如下,填写空格处。
10%@==
20%@====
100%@
前三个数字,右对齐;后面字符,左对齐
文本中左侧一段输出N的值,右侧一段根据N的值输出等号,中间用@分隔,等号个数为N与5的整除商的值,例如,当N等于10时,输出2个等号。
N=eval(input())#N取值范围是0—100,整数print(①)
习题讲解参考代码
N=20#N取值范围为0-100整数print("{:
>3}%@{}".format(N,"="*(N//5)))
2•以论语中一句话作为字符串变量s,补充程序,分别输出字符串s中汉字和标点符号的个数。
s="学而时习之,不亦说乎?
有朋自远方来,不亦乐乎?
人不知而不愠,不亦君子乎?
"
n=0#汉字个数
m=0#标点符号个数
①#在这里补充代码,可以多行
print("字符数为{},标点符号数为{}。
".format(n,m))
习题讲解
参考代码
s="学而时习之,不亦说乎?
有朋自远方来,不亦乐乎?
人不知而不愠,不亦君子乎?
"
n=0#汉字个数
m=0#标点符号个数
m=s.count(',')+s.count('?
')
n=len(s)-mprint("字符数为{},标点符号数为{}。
".format(n,m))
3.使用程序计算整数N到整数N+100之间所有奇数的数值和,不包
含N+100,并将结果输出。
整数N由用户给出,代码片段如下,补全代码。
不判断输入异常。
N=input("请输入一个整数:
")
①#可以是多行代码
输入
输出
3
2600
输入输出示例
习题讲解
参考代码
N=input("请输入一个整数:
")
s=0foriinrange(eval(N),eval(N)+100):
ifi%2==1:
s+=iprint(s)
4.B卷简单应用1
上一题下一题
题目
提交代码
上传文件
答案与讲解
使用turtle库的turtle.fd()函数和turtle.left()函数绘制一个六边形,边长为
200像素,效果如下图所示,请结合格式框架,补充横线处代码。
importturtleastforiinrange(①:
t.fd(②___)
t.left(___③___)
自动评阅说明
最后使用print函数输出_①,_②,_③中应填代码即
可以自动评阅得分,如果有运算符,请在运算符两侧加上空格,
例如,如果代码为:
importturtleastforiinrange
(2):
t.fd(i+100)
t.left(200)
在提交代码页面输入:
print(2,'i+100',200),运行即可
习题讲解
参考代码
importturtleastforiinrange(6):
t.fd(200)
t.left(60)
5•经常会有要求用户输入整数的计算需求,但用户未必一定输入整数。
为了提高用户体验,编写getInput()函数处理这样的情况。
请补充如下代码,如果用户输入整数,则直接输出整数并退出,如果用户输入的不是整数,则要求用户重新输入,直至用户输入整数为止。
defgetInput():
①#可以是多行代码
return②#只能是单行代码
print(getInput())
习题讲解
参考代码
defgetInput():
try:
txt=input()#"请输入整数:
"
whileeval(txt)!
=int(txt):
txt=input()#"请输入整数:
"
except:
returngetInput()
returneval(txt)print(getInput())
6.《天龙八部》是著名作家金庸的代表作之一,历时4年创作完成。
该作
品气势磅礴,人物众多,非常经典。
这里给出一个《天龙八部》的网络版本,文件名为“天龙八部-网络版.txt。
”
问题1:
请编写程序,对这个《天龙八部》文本中出现的汉字和标点符号进行统计,字符与出现次数之间用冒号:
分隔,输出保存到“天龙八部-汉字统
计.txt文”件中,该文件要求采用CSV格式存储,参考格式如下(注意,不统计空格和回车字符):
天:
100,龙:
110,八:
109,部:
10
(略)
问题2:
请编写程序,对《天龙八部》文本中出现的中文词语进行统计,采用jieba库分词,词语与出现次数之间用冒号:
分隔,输出保存到“天龙八部-词
语统计.txt文”件中。
参考格式如下(注意,不统计任何标点符号):
天龙:
100,八部:
10
(略)
本题暂不支持自动评阅,print('ok'),即可得分
习题讲解
参考代码1
fi=open(”天龙八部-网络版.txt","r",encoding='utf-8')
fo=open("天龙八部-汉字统计.txt","w",encoding='utf-8')txt=fi.read()
d={}forcintxt:
d[c]=d.get(c,0)+1deld['']deld['\n']
ls=[]forkeyind:
ls.append("{}:
{}".format(key,d[key]))fo.write(",".join(ls))
fi.close()
fo.close()
参考代码2
importjieba
fi=open(”天龙八部-网络版.txt","r",encoding='utf-8')fo=open("天龙八部-词语统计.txt","w",encoding='utf-8')txt=fi.read()
words=jieba.lcut(txt)
d={}forwinwords:
d[w]=d.get(w,0)+1deld['']deld['\n']
ls=[]forkeyind:
ls.append("{}:
{}".format(key,d[key]))fo.write(",".join(ls))
fi.close()
fo.close()