全国计算机等级考试二级Python真题及解析4.docx
《全国计算机等级考试二级Python真题及解析4.docx》由会员分享,可在线阅读,更多相关《全国计算机等级考试二级Python真题及解析4.docx(16页珍藏版)》请在冰豆网上搜索。
全国计算机等级考试二级Python真题及解析4
全国计算机等级考试二级Python真题及解析(4)
一、选择题
1.以下选项中,不属于需求分析阶段的任务是
A需求规格说明书评审
B确定软件系统的性能需求
C确定软件系统的功能需求
D制定软件集成测试计划
正确答案:
D
2.关于数据流图(DFD)的描述,以下选项中正确的是
A软件详细设计的工具
B结构化方法的需求分析工具
C面向对象需求分析工具
D软件概要设计的工具
正确答案:
B
3.在黑盒测试方法中,设计测试用例的主要根据是
A程序流程图
B程序数据结构
C程序内部逻辑
D程序外部功能正确答案:
D
4.一个教师讲授多门课程,一门课程由多个教师讲授。
描述了实体教师和
课程的联系的选项是
Am:
n联系
Bm:
1联系
C1:
n联系
D1:
1联系正确答案:
A
5.数据库设计中,反映用户对数据要求的模式是
A内模式
B设计模式
C外模式
D概念模式正确答案:
C
6.在数据库设计中,用E-R图来描述信息结构但不涉及信息在计算机中的表示的阶段是
A概念设计阶段
B逻辑设计阶段
C物理设计阶段
D需求分析阶段
正确答案:
A
7.以下选项中描述正确的是
A只有一个根结点的数据结构不一定是线性结构
B循环链表是非线性结构
C双向链表是非线性结构
D有一个以上根结点的数据结构不一定是非线性结构正确答案:
A
8.一棵二叉树共有25个结点,其中5个是叶子结点,则度为1的结点数是A6
B16
C10
D4
正确答案:
B
9.下图所示的二叉树进行前序遍历的序列是
A
BC
YZ
AYDEBFZXCABABDYECFXZCABCDEFXYZDDYBEAFCZX正确答案:
B
10.以下选项中描述正确的是
A算法的时间复杂度与空间复杂度一定相关
B算法的时间复杂度是指执行算法所需要的计算工作量
C算法的效率只与问题的规模有关,而与数据的存储结构无关
D数据的逻辑结构与存储结构是一一对应的
正确答案:
A
11.Python文件的后缀名是
Apdf
Bdo
Cpass
Dpy
正确答案:
D
12.
下面代码的输出结果是
print(0.1+0.2==0.3)
AFalse
B-1
C0
Dwhile正确答案:
A
13.以下选项中,不是Python语言保留字的是
Aexcept
Bdo
Cpass
Dwhile正确答案:
B
14.下面代码的执行结果a=10.99print(complex(a))
A10.99+j
B10.99
C0.99
D(10.99+0j)正确答案:
D
15.关于Python字符编码,以下选项中描述错误的是
Achr(x)和ord(x)函数用于在单字符和Unicode编码值之间进行转换
Bprintchr(65)输出A
Cprint(ord('a'))输出97
DPython字符编码使用ASCII编码正确答案:
D
16.关于Python循环结构,以下选项中描述错误的是
A遍历循环中的遍历结构可以是字符串、文件、组合数据类型和range()函
数等
Bbreak用来结束当前当次语句,但不跳出当前的循环体
Ccontinue只结束本次循环
DPython通过for、while等保留字构建循环结构正确答案:
B
17.给出如下代码importrandomnum=random.randint(1,10)whileTrue:
ifnum>=9:
breakelse:
num=random.randint(1,10)以下选项中描述错误的是A这段代码的功能是程序自动猜数字Bimportrandom代码是可以省略的CwhileTrue:
创建了一个永远执行的循环Drandom.randint(1,10)生成[1,10]之间的整数正确答案:
B
18.关于time库的描述,以下选项中错误的是Atime库提供获取系统时间并格式化输出功能Btime.sleep(s)的作用是休眠s秒
Ctime.perf_counter()返回一个固定的时间计数值Dtime库是Python中处理时间的标准库正确答案:
C
19.关于jieba库的描述,以下选项中错误的是
Ajieba.cut(s)是精确模式,返回一个可迭代的数据类型
Bjieba.lcut(s)是精确模式,返回列表类型
Cjieba.add_word(s是向分词词典里增加新词s
Djieba是Python中一个重要的标准函数库
正确答案:
D
20.对于列表ls的操作,以下选项中描述错误的是
Als.clear():
删除ls的最后一个元素
Bls.copy():
生成一个新列表,复制ls的所有元素
Cls.reverse()列表Is的所有元素反转
DIs.append(x):
在Is最后增加一个元素正确答案:
A
21.下面代码的输出结果是
IistV=Iist(range(5))print(2inIistV)
AFaIse
B0
C-1
DTrue
正确答案:
D
22.给出如下代码
importrandomasran
IistV=[]
ran.seed(100)foriinrange(10):
i=ran.randint(100,999)
IistV.append(i)以下选项中能输出随机列表元素最大值的是
Aprint(IistV.max())
Bprint(IistV.pop(i))
Cprint(max(IistV))
Dprint(IistV.reverse(i))
正确答案:
C
23.给出如下代码
MonthandFlower={"1月":
"梅花","2月":
"杏花","3月":
"桃花","4月":
"牡丹花",\"5月":
"石榴花","6月":
"莲花","7月":
"玉簪花","8月":
"桂花",\"9月":
"菊花","10月":
"芙蓉花","11月":
"山茶花","12月":
"水仙花"}
n=input(”请输入1—12的月份:
")print(n+"月份之代表花:
"+
MonthandFlower.get(str(n)+"月"))
以下选项中描述正确的是
A代码实现了获取一个整数(1—12)来表示月份,输出该月份对应的代表
花名
BMonthandFlower是列表类型变量
CMonthandFlower是-个元组
DMonthandFlower是集合类型变量
正确答案:
A
24.关于Python文件打开模式的描述,以下选项中描述错误的是
A覆盖写模式w
B追加写模式a
C创建写模式n
D只读模式r
正确答案:
C
25.
执行如下代码:
fname=input("请输入要写入的文件:
")
fo=open(fname,"w+")
ls=["清明时节雨纷纷,","路上行人欲断魂,","借问酒家何处有?
","牧童遥指杏花村。
"]
fo.writelines(ls)
fo.seek(0)forlineinfo:
print(line)
fo.close()
以下选项中描述错误的是
Afo.writelines(ls)将元素全为字符串的ls列表写入文件
Bfo.seek(0这行代码如果省略,也能打印输出文件内容
C代码主要功能为向文件写入一个列表类型,并打印输出结果
D执行代码时,从键盘输入“清明.txt”,则清明.txt被创建
正确答案:
B
26.关于CSV文件的描述,以下选项中错误的是
ACSV文件的每一行是一维数据,可以使用Python中的列表类型表示
BCSV文件通过多种编码表示字符
C整个CSV文件是一个二维数据
DCSV文件格式是一种通用的文件格式,应用于程序之间转移表格数据正确答案:
B
27.以下选项中,修改turtle画笔颜色的函数是
Aseth()
Bcolormode()
Cbk()
Dpencolor()
正确答案:
D
28.以下选项中,Python网络爬虫方向的第三方库是
Anumpy
Bopenpyxl
CPyQt5
Dscrapy
正确答案:
D
29.以下选项中,Python数据分析方向的第三方库是
APIL
BDjango
Cpandas
Dflask
正确答案:
C
30.以下选项中,Python机器学习方向的第三方库是ATensorFlow
Bscipy
CPyQt5
Drequests
正确答案:
A
31.
给出如下代码:
TempStr="HelloWorld"以下选项中可以输出“World”子串的是
Aprint(TempStr[-5:
-1])
Bprint(TempStr[-5:
0])
Cprint(TempStr[-4:
-1])print(TempStr[-4:
-1])
Dprint(TempStr[-5:
])
正确答案:
D
32.下面代码的输出结果是
x=12.34print(type(x))
A
B
C
D
正确答案:
B
33.下面代码的输出结果是
x=10
y=3print(x%y,x**y)
A31000
B130
C330
D11000正确答案:
D
34.执行如下代码importturtleastforiinrange(1,5):
t.fd(50)
t.left(90)
在PythonTurtleGraphics中,绘制的是
A五边形
B三角形
C五角星
D正方形正确答案:
D
35.设一年356天,第1天的能力值为基数记为1.0。
当好好学习时能力值相比前一天会提高千分之五。
以下选项中,不能获得持续努力1年后的能力值的是
A1.005**365
Bpow((1.0+0.005),365)
C1.005//365
Dpow(1.0+0.005,365)正确答案:
C
36.给出如下代码:
s=list("巴老爷有八十八棵芭蕉树,来了八十八个把式要在巴老爷八十八棵芭蕉树下住。
\
老爷拔了八十八棵芭蕉树,不让八十八个把式在八十八棵芭蕉树下住。
八十八个把式\
烧了八十八棵芭蕉树,巴老爷在八十八棵树边哭。
")以下选项中能输出字符“八”出现次数的是
Aprint(s.index("八"))
Bprint(s.index("八"),6)
Cprint(s.index("八"),6,len(s))
Dprint(s.count("八"))
正确答案:
D
37.下面代码的输出结果是
vlist=list(range(5))print(vlist)
A01234
B0,1,2,3,4,
C0;1;2;3;4;
D[0,1,2,3,4]
正确答案:
D
38.以下选项中,不是建立字典的方式是
Ad={[1,2]:
1,[3,4]:
3}
Bd={(1,2):
1,(3,4):
3}
Cd={'张三':
1,'李四':
2}
Dd={1:
[1,2],3:
[3,4]}
正确答案:
A
39.如果name="全国计算机等级考试二级Python",以下选项中输出错误
的是
A>>>print(name[:
])全国计算机等级考试二级Python
B>>>print(name[11:
])
Python
C>>>print(name[:
11])
全国计算机等级考试二级
D>>>print(name[0],name[8],name[-])
全试
正确答案:
D
40.下列程序的运行结果是
>>>s=‘PYTHON>>>“{0:
3}”.format(s)
A'PYTH'
B'PYTHON'
C'PYTHON'
D'PYT'
正确答案:
B
二、操作题
1.根据输入正整数n,作为财务数据,输出一个宽度为20字符,n右对齐显示,带千位分隔符的效果,使用减号字符填充。
如果输入正整数超过20
位,则按照真实长度输出。
提示代码如下:
n=input()
①#可以多行
输入输出示例
输入
输出
示例1
2190000
2,190,000
习题讲解
参考代码
n=input()#请输入整数print("{:
->20,}".format(eval(n)))
2.Pylnstaller库可以对程序打包,给定一个Python源程序文件a.py,图标
文件为a.ico,将其打包为在Windows平台上带有上述图标的单一可执行文件,使用什么样的命令?
print这个命令即可自动评阅
习题讲解
参考代码
pyinstaller-a.ico-Fa.py
3•以123为随机数种子,随机生成10个在1到999(含)之间的随机数,以逗号分隔,打印输出,请补充横线处代码。
提示代码如下
importrandom
①foriinrange(②:
print(③,end=",")
习题讲解
参考代码
importrandom
random.seed(123)foriinrange(10):
print(random.randint(1,999),end=",")
4.使用turtle库的turtle.right()函数和turtle.fd()函数绘制一个菱形四边形,边长为200像素,效果如下图所示。
请勿修改已经给出的第一行代码,并完善
程序
提示代码:
importturtleast
本题暂不支持自动评阅,print('ok')即可得分并查看答案
习题讲解
参考代码
importturtleast
t.right(-30)foriinrange
(2):
t.fd(200)
t.right(60*(i+1))foriinrange
(2):
t.fd(200)
t.right(60*(i+1))
5•补充完善如下代码,使得程序能够计算a中各元素与b逐项乘积的累加
和。
提示代码如下:
a=[[1,2,3],[4,5,6],[7,8,9]]
b=[3,6,9]
①forcina:
forjin②:
s+=c[j]*b[j]print(s)
习题讲解
参考代码
a=[[1,2,3],[4,5,6],[7,8,9]]
b=[3,6,9]
s=0forcina:
forjinrange(3):
s+=c[j]*b[j]print(s)
6.《命运》和《寻梦》都是著名科幻作家倪匡的科幻作品。
这里给出一个《命运》和《寻梦》的网络版本,文件名为命运-网络版.txt和寻梦-网络
版.txt。
问题1:
请编写程序,对这两个文本中出现的字符进行统计,字符与出现次数之间用冒号:
分隔,将两个文件前100个最常用字符分别输出保存到命运-字符统计.txt和寻梦-字符统计.txt文件中,该文件要求采用CSV格式存储,参考格式如下(注意,不统计回车字符):
命:
90,运:
80,寻:
70,梦:
60
(略)
问题2:
请编写程序,对“命运-字符统计.txt和”“寻梦-字符统计.txt中”出现的相同字符打印输出。
“相同字符.txt文”件中,字符间使用逗号分隔。
本题暂不支持自动评阅,print('ok')即可得分并查看答案习题讲解
参考代码1
names=["命运","寻梦"]fornameinnames:
fi=open(name+"-网络版.txt","r",encoding="utf-8")
fo=open(name+"字符统计.txt","w",encoding="utf-8")txt=fi.read()
d={}
forcintxt:
d[c]=d.get(c,0)+1
deld['\n']
ls=list(d.items())
ls.sort(key=lambdax:
x[1],reverse=True)
foriinrange(100):
ls[i]="{}:
{}".format(ls[i][0],ls[i][1])fo.write(",".join(ls[:
100]))fi.close()fo.close()
参考代码2
defgetList(name):
f=open(name+"-字符统计.txt","r",encoding="utf-8")words=f.read().split(',')
foriinrange(len(words)):
words[i]=words[i].split(':
')[0]
f.close()
returnwordsdefmain():
fo=open("相同字符.txt","w")
ls1=getList("命运")
Is2=getList("寻梦")
ls3=[]
forcinIs1:
ifcinIs2:
Is3.append(c)
fo.write(",".join(Is3))fo.cIose()
main()