全国计算机等级考试二级Python真题及解析10.docx
- 文档编号:5789940
- 上传时间:2023-01-01
- 格式:DOCX
- 页数:23
- 大小:52.20KB
全国计算机等级考试二级Python真题及解析10.docx
《全国计算机等级考试二级Python真题及解析10.docx》由会员分享,可在线阅读,更多相关《全国计算机等级考试二级Python真题及解析10.docx(23页珍藏版)》请在冰豆网上搜索。
全国计算机等级考试二级Python真题及解析10
全国计算机等级考试二级Python真题及解析(10)
1.数据库系统的核心是。
A数据库管理系统
B数据模型
C软件工具
D数据库
正确答案:
A
2.下列叙述中正确的是。
A线性表链式存储结构的存储空间可以是连续的,也可以是不连续的
B线性表链式存储结构与顺序存储结构的存储空间都是连续的
C线性表链式存储结构的存储空间必须是连续的
D线性表链式存储结构的存储空间一般要少于顺序存储结构
正确答案:
A
3.某二叉树共有12个结点,其中叶子结点只有1个。
则该二叉树的深度为
1层)。
A8
B12
C6
D3
正确答案:
B
4.下列叙述正确的是。
A算法的时间复杂度与空间复杂度一定相关
B数据的逻辑结构与存储结构是一一对应的
C算法的时间复杂度是指执行算法所需要的计算工作量
D算法的效率只与问题的规模有关,而与数据的存储结构无关
正确答案:
C
5.对长度为n的线性表作快速排序,在最坏情况下,比较次数为
。
An(n-1)/2
Bn(n-1)
Cn-1
Dn
正确答案:
A
6.在软件开发中,需求分析阶段产生的主要文档是。
A软件需求规格说明书
B软件集成测试计划
C软件详细设计说明书
D用户手册
正确答案:
A
7.下列选项中不属于结构化程序设计原则的是。
A逐步求精
B逐步求精
C模块化
D可封装
正确答案:
D
8.设有表示学生选课的三张表,学生S(学号,姓名,性别,年龄,身份
证号),课程C(课号,课名),选课SC(学号,课号,成绩),则表SC的
关键字(键或码)为
A学号,课号
B学号,成绩
C课号,成绩
D学号,姓名,成绩
9.下面叙述错误的是
A程序调试通常也称为Debug
B对被调试的程序进行"错误定位"是程序调试的必要步骤
C软件测试应严格执行测试计划,排除测试的随意性
D软件测试的目的是发现错误并改正错误
正确答案:
D
10.软件按功能可以分为应用软件、系统软件和支撑软件(或工具软件)。
A编译程序
B操作系统
C教务管理系统
D汇编程序
正确答案:
C
11.以下选项不属于Python语言特点的是:
A支持中文
B平台无关
C语法简洁
D执行高效
正确答案:
D
12.如果Python程序执行时,产生了“unexpectedinden”t的错误,其原
A代码中使用了错误的关键字
B代码中缺少“:
”符号
C代码里的语句嵌套层次太多
D代码中出现了缩进不匹配的问题
13.以下关于Python程序语法元素的描述,错误的选项是:
A段落格式有助于提高代码可读性和可维护性
B虽然Python支持中文变量名,但从兼容性角度考虑还是不要用中文名
Ctrue并不是Python的保留字
D并不是所有的if、while、def、class语句后面都要用‘:
’结尾
正确答案:
D
14.s="Python",能够显示输出Python的选项是:
Aprint(s[0:
-1])
Bprint(s[-1:
0])
Cprint(s[:
6])
Dprint(s[:
])
正确答案:
D
15.15.表达式'y'<'x'==False的结果是:
ATrue
BError
CNone
DFalse
正确答案:
D
16.以下表达式是十六进制整数的选项是:
A0b16
B‘0x61’
C1010
D0x3F
正确答案:
D
17.字符串s="IlovePython",以下程序的输出结果是:
s="IlovePython"
ls=s.split()
ls.reverse()
print(ls)
A'Python','love','I'
BPythonloveI
CNone
D['Python','love','I']
正确答案:
D
18.以下程序的输出结果是:
s=''
ls=[1,2,3,4]
forlinls:
s+=str(l)
print(s)
A1,2,3,4
B4321
C4,3,2,1
D1234
正确答案:
D
19.以下关于程序控制结构描述错误的是:
A单分支结构是用if保留字判断满足一个条件,就执行相应的处理代码
B二分支结构是用if-else根据条件的真假,执行两种处理代码
C多分支结构是用if-elif-else处理多种可能的情况
D在Python的程序流程图中可以用处理框表示计算的输出结果
正确答案:
D
20.ls=[1,2,3,4,5,6],以下关于循环结构的描述,错误的是:
A表达式foriinrange(len(ls))的循环次数跟foriinls的循环次数是一样的
B表达式foriinrange(len(ls))的循环次数跟foriinrange(0,len(ls))的循环次
数是一样的
C表达式foriinrange(len(ls))的循环次数跟foriinrange(1,len(ls)+1)的循环
次数是一样的
D表达式foriinrange(len(ls))跟foriinls的循环中,i的值是一样的
正确答案:
D
21.以下程序的输出结果是:
j=''
foriin"12345":
j+=i+','
print(j)
A1,2,3,4,5
B12345
C‘1,2,3,4,5,’
D1,2,3,4,5,
正确答案:
D
22.以下程序的输出结果是:
a=30
b=1
ifa>=10:
a=20
elifa>=20:
a=30
elifa>=30:
b=a
else:
b=0
print('a={},b={}'.format(a,b))
Aa=30,b=1
Ba=30,b=30
Ca=20,b=20
Da=20,b=1
正确答案:
D
23.以下程序的输出结果是:
s=''
try:
foriinrange(1,10,2):
s.append(i)
except:
print('error')
print(s)
A13579
B[1,3,5,7,9]
C,4,6,8,10
Derror
正确答案:
D
24.以下关于python函数使用的描述,错误的是:
A函数定义是使用函数的第一步
B函数被调用后才能执行
C函数执行结束后,程序执行流程会自动返回到函数被调用的语句之后
DPython程序里一定要有一个主函数
25.以下关于函数参数和返回值的描述,正确的是:
A采用名称传参的时候,实参的顺序需要和形参的顺序一致
B可选参数传递指的是没有传入对应参数值的时候,就不使用该参数
C函数能同时返回多个参数值,需要形成一个列表来返回
DPython支持按照位置传参也支持名称传参,但不支持地址传参
正确答案:
D
26.
以下程序的输出结果是:
defcalu(x=3,y=2,z=10):
return(x**y*z)
h=2
w=3
print(calu(h,w))
A90
B70
C60
D80
正确答案:
D
27.
以下程序的输出结果是:
img1=[12,34,56,78]
img2=[1,2,3,4,5]
defdispl():
print(img1)
defmodi():
img1=img2
modi()
displ()
A[1,2,3,4,5]
B([12,34,56,78])
C([1,2,3,4,5])
D[12,34,56,78]
正确答案:
D
28.以下关于组合数据类型的描述,错误的是:
A集合类型是一种具体的数据类型
B序列类似和映射类型都是一类数据类型的总称
Cpython的集合类型跟数学中的集合概念一致,都是多个数据项的无序组
D字典类型的键可以用的数据类型包括字符串,元组,以及列表
正确答案:
D
29.以下关于字典类型的描述,正确的是:
A字典类型可迭代,即字典的值还可以是字典类型的对象
B表达式forxind:
中,假设d是字典,则x是字典中的键值对
C字典类型的键可以是列表和其他数据类型
D字典类型的值可以是任意数据类型的对象
正确答案:
D
30.以下程序的输出结果是:
ls1=[1,2,3,4,5]
ls2=[3,4,5,6,7,8]
cha1=[]
foriinls2:
ifinotinls1:
cha1.append(i)
print(cha1)
A(6,7,8)
B(1,2,6,7,8)
C[1,2,6,7,8]
D[6,7,8]
正确答案:
D
31.
以下程序的输出结果是:
d={"zhang":
"China","Jone":
"America","Natan":
"Japan"}print(max(d),min(d))
AJapanAmerica
Bzhang:
ChinaJone:
America
CChinaAmerica
DzhangJone
正确答案:
D
32.以下程序的输出结果是:
frame=[[1,2,3],[4,5,6],[7,8,9]]
rgb=frame[:
:
-1]
print(rgb)
A[[1,2,3],[4,5,6]]
B[[7,8,9]]
C[[1,2,3],[4,5,6],[7,8,9]]
D[[7,8,9],[4,5,6],[1,2,3]]
正确答案:
D
33.已知以下程序段,要想输出结果为1,2,3,应该使用的表达式是:
x=[1,2,3]
z=[]
foryinx:
z.append(str(y))
Aprint(z)
Bprint(",".join(x))
Cprint(x)
Dprint(",".join(z))
正确答案:
D
34.
以下程序输出到文件text.csv里的结果是:
fo=open("text.csv",'w')
x=[90,87,93]
fo.write(",".join(str(x)))
fo.close()
A[90,87,93]
B90,87,93
C,9,0,,,,8,7,,,,9,3,
D[,9,0,,,,8,7,,,,9,3,]
正确答案:
D
35.以下属于Python的HTML和XML第三方库的是:
Amayavi
BTVTK
Cpygame
DBeautifulSoup
正确答案:
D
36.用于安装Python第三方库的工具是:
Ajieba
Byum
Closo
Dpip
正确答案:
D
37.用于将Python程序打包成可执行文件的工具是:
APanda3D
Bcocos2d
Cpip
DPyInstaller
正确答案:
D
38.
以下程序不可能的输出结果是:
fromrandomimport*
x=[30,45,50,90]print(choice(x))
A30
B45
C90
D55
正确答案:
D
39.有一个文件记录了1000个人的高考成绩总分,每一行信息长度是20个
字节,要想只读取最后10行的内容,不可能用到的函数是:
Aseek()
Breadline()
Copen()
Dread()
正确答案:
D
40.以下关于文件的描述错误的选项是:
Areadlines()函数读入文件内容后返回一个列表,元素划分依据是文本文件
中的换行符
Bread()一次性读入文本文件的全部内容后,返回一个字符串
Creadline()函数读入文本文件的一行,返回一个字符串
D二进制文件和文本文件都是可以用文本编辑器编辑的文件
正确答案:
D
二、操作题
1.101
描述
参照代码模板完善代码,实现下述功能。
输入一个字符串,其中的字符由
(英文)逗号隔开,编程将所有字符连成一个字符串,输出显示在屏幕上。
输入输出示例
输入输出
示例11,2,3,4,512345
习题讲解
答案:
ls=input("请输入一个字符串,由逗号隔开每个字符:
").split(',')
(1)
print(''.join(ls))
(2)
要点:
1.题目要求输入的字符用逗号隔开,所以,需要用到split(',')来从字符串里
提取所输入的字符
2.经过split()函数的字符串,返回的是列表
3.字符串有个操作函数是str.join(ls),可以把列表里的各个元素,用str的
内容连接起来。
本题利用了空字符串‘’,来调用这个函数,因此,达到了所想
要的效果:
将带有逗号的字符串变换成了没有逗号的字符串。
4.有一个不可忽视的地方是join()函数的括号里的参数是列表,如果忘
了这一点,会犯错
5.这个功能利用好了,可以拓展,解决其他的问题。
2.102
描述
参照代码模板完善代码,实现下述功能。
有一个列表studs如下:
studs=[{'sid':
'103','Chinese':
90,'Math':
95,'English':
92},{'sid':
'101','Chinese':
80,'Math':
85,'English':
82},{'sid':
'102','Chinese':
70,'Math':
75,'English':
72}]
将列表studs的数据内容提取出来,放到一个字典scores里,在屏幕上按学
号从小到大的顺序显示输出scores的内容。
内容示例如下:
101:
[85,82,80]
102:
[75,72,70]
103:
[95,92,90]
输入输出示例
输入输出
示例1无101:
[85,82,80]
102:
[75,72,70]
103:
[95,92,90]
答案:
studs=[{'sid':
'103','Chinese':
90,'Math':
95,'English':
92},{'sid':
'101','Chinese':
80,'Math':
85,'English':
82},{'sid':
'102','Chinese':
70,'Math':
75,'English':
72}]
scores={}
forstudinstuds:
sv=stud.items()
(1)
v=[]
foritinsv:
ifit[0]=='sid':
k=it[1]
else:
v.append(it[1])
scores[k]=v
(2)
#print(scores)
so=list(scores.items())(3)
so.sort(key=lambdax:
x[0],reverse=False)
forlinso:
print('{}:
{}'.format(l[0],l[1]))
要点:
1.字典作为元素,定义在列表里,用列表的遍历就可以从中提取出来
2.提取出来的元素直接就是字典,因此可以用items()直接获取,形成键
值对对象集合sv;
3.对键值对对象集合sv遍历,就可以以元组it的方式访问其中的每一对键
值对,sv=stud.items(),是第一个空的答案;
4.题目要求提取学生的学号,所以需要比较键it[0]是否是'sid',是则将学号
it[1]提取出来作为新的字典scores的键k;不是则将成绩提取出来作为新字典
scores的值v;
5.由于课程是多门,因此新字典scores的值v需要以列表的方式,保存各
门课程的成绩,所以在不是的情况下,新字典scores的值v是利用append
(it[1])的方式,追加到列表的后面;
6.对v做append操作,必须要事先定义v是一个空列表;因此需要在对每
一条旧字典stud的键值对信息做处理的foritinsv:
语句之前,用v=[]初始化v
为一个空列表;
7.经过对一条字典stud的处理,就形成一对k和v,所以接下来是给新字
典scores添加一条键值对,scores[k]=v,是第二个空的答案
8.经过对全部的studs列表里的各条字典处理完之后,新的scores字典就全
部生成。
9.题目要求按学号从小到大的顺序输出学号和成绩,所以需要对字典的键
值对内容items()提取到列表so里,此处是第三个空的答案:
so
=list(scores.items())
10.用Lambda函数进行排序。
这个不在考试范围里,所以代码模板直接给
出语句;
11.对排好序的列表输出每组列表,这个直接给出语句,不再赘述。
3.103
描述
参照代码模板完善代码,实现下述功能。
从键盘输入一个用于填充的图符,一个字符串,一个要显示的字符串的总
长度;编程将输入的字符串,居中输出显示在屏幕上,用填充图符补齐到输入
的总长度。
如果总长度处输入的不是正整数,则提示请输入一个正整数,并重
新提示输入,直至输入正整数。
输入:
请输入填充符号:
@
请输入要显示的字符串:
请输入字符串总长度:
r
请输入一个正整数
请输入字符串总长度:
3.4
请输入一个正整数
请输入字符串总长度:
4
输出:
@qq@
输入输出示例
输入
输出
示例1
@qq4
@qq@
习题讲解答案:
#请在处填写一行代码#请在⋯处填写多行代码#不要修改已给出代码a=input()#请输入填充符号
c=input()#请输入要显示的字符串
flag=1
(1)
whileflag:
try:
b=eval(input())#请输入字符串总长度
except:
flag=1
print("请输入一个正整数")
else:
iftype(b)==int
(2)andb>0:
flag=0
else:
flag=1
print("请输入一个正整数")
print('{0:
{1}^{2}}'(3).format(c,a,b))4.201
描述
参照代码模板完善代码,实现下述功能,不得修改其它代码。
使用turtle
库的turtle.fd()函数和turtle.seth()函数绘制螺旋状的正方形,正方形边长从1像
素开始,第一条边从0度方向开始,效果如下图所示。
自动评阅说明
使用字符串形式输出①,②,③中应填代码即可
例如,如果代码为:
#代码模板|#你的代码importturtle|importturtle
d=0|d=0foriinrange(__1__):
|foriinrange
(1):
turtle.fd(__2__)|turtle.fd(100)
d=__3__|d=(i+100)*100
turtle.seth(d)|turtle.seth(d)
则在提交代码页面输入:
print('1','100','(i+100)*100')
提交后即可以查看得分
注:
如果有运算符,请在运算符两侧加上空格
习题讲解
答案:
importturtled=0
k=1
forjinrange(10):
foriinrange(4):
turtle.fd(k
(1))
d+=91
turtle.seth(d
(2))
k+=2_(3)
turtle.done()
要点:
1.降低了难度,让填写的都是最简单的
5.202
描述
参照代码模板完善代码,实现下述功能,可以修改其它代码。
附件文件
question.txt中有一道Python选择题,第1行的第1个数据为题号,后续的4行
是4个选项。
示例内容如下:
3.以下关于字典类型的描述,错误的是:
A.字典类型中的数据可以进行分片和合并操作
B.字典类型是一种无序的对象集合,通过键来存取
C.字典类型可以在原来的变量上增加或缩短
D.字典类型可以包含列表和其他数据类型,支持嵌套的字典
读取其中的内容,提取题干和四个选项的内容,利用jieba分词并统计出现
频率最高的3个词,其中要删除以下的常用字和符号“的,:
:
可以是和中以下
B”,作为该题目的主题标签,显示输出在屏幕上。
输入输出示例
输入
输出
示例1
从文件question.txt
中读取所有内容
第3题的主题是:
类型:
5
集合:
2
组合:
2
习题讲解
答案:
importjieba
fi=open("question.txt",'r')
con=''
num=0forlinfi:
l=l.replace('\n','').strip().split('.')
#print(l)
try:
ft=eval(l[0])
except:
pass
else:
num=ft
con+=l[1]print('第{}题的主题是:
'.format(num))
conls=jieba.lcut(con)dict={}forwordinconls:
dict[word]=dict.get(word,0)+1
dictls=list(dict.items())
dictls.sort(key=lambdax:
x[1],reverse=True)
k=0foritindictls:
ifit[0]in'的,:
:
可以是和中以下B':
continue
else:
ifk==3:
break
else:
print('{}:
{}'.format(it[0],it[1]))
k+=1
fi.close()
要点:
1.导入jieba库,使用lcut分词,返回列表conls
2.打开文件,读文件,关闭文件
3.按行从文件里读,每一行是一个字符串,用strip和split处理成列表,因
为要识别题号,还要提取题目和选项的内容,所以要按照'.'分隔来提取,分别
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 全国 计算机等级考试 二级 Python 解析 10