全国计算机等级考试二级Python真题及解析12Word下载.docx
- 文档编号:6830620
- 上传时间:2023-05-07
- 格式:DOCX
- 页数:28
- 大小:45.87KB
全国计算机等级考试二级Python真题及解析12Word下载.docx
《全国计算机等级考试二级Python真题及解析12Word下载.docx》由会员分享,可在线阅读,更多相关《全国计算机等级考试二级Python真题及解析12Word下载.docx(28页珍藏版)》请在冰点文库上搜索。
D设x=’aa’,则执行x*3的结果是‘aaaaaa’
8.
设str='
python'
,想把字符串的第一个字母大写,其他字母还是小写,正确的选项是:
Aprint(str[0].upper()+str[1:
])
Bprint(str[1].upper()+str[-1:
1])
Cprint(str[0].upper()+str[1:
-1])
Dprint(str[1].upper()+str[2:
A
9.
以下选项,不属于程序流程图基本元素的是:
A循环框
B连接点
C判断框
D起始框
10.
以下关于循环结构的描述,错误的是:
A遍历循环使用for<
循环变量>
in<
循环结构>
语句,其中循环结构不能是文件
B使用range()函数可以指定for循环的次数
Cforiinrange(5)表示循环5次,i的值是从0到4
D用字符串做循环结构的时候,循环的次数是字符串的长度
11.执行以下程序,输入”93python22”,输出结果是:
w=input(‘请输入数字和字母构成的字符串:
’)
forxinw:
if'
0'
<
=x<
='
9'
:
continue
else:
w.replace(x,'
'
)
print(w)
Apython9322
Bpython
C93python22
D9322
12.执行以下程序,输入la,输出结果是:
la='
try:
s=eval(input('
请输入整数:
))
ls=s*2
print(ls)
except:
print('
请输入整数'
Ala
B请输入整数
Cpythonpython
Dpython
13.执行以下程序,输入qp,输出结果是:
k=0
whileTrue:
s=input('
请输入q退出:
ifs=='
q'
k+=1
k+=2
break
print(k)
A2
B请输入q退出:
C3
D1
14.以下程序的输出结果是:
s=0
deffun(num):
try:
s+=num
returns
except:
return0
return5
print(fun
(2))
A0
B2
CUnboundLocalError
D5
15.
以下关于函数的描述,错误的是:
A函数是一种功能抽象
B使用函数的目的只是为了增加代码复用
C函数名可以是任何有效的Python标识符
D使用函数后,代码的维护难度降低了
16.以下程序的输出结果是:
deftest(b=2,a=4):
globalz
z+=a*b
returnz
z=10
print(z,test())
A18None
B1018
D1818
17.以下程序的输出结果是:
defhub(ss,x=2.0,y=4.0):
ss+=x*y
ss=10
print(ss,hub(ss,3))
A22.0None
B10None
C22None
D10.022.0
18.
以下表达式,正确定义了一个集合数据对象的是:
Ax={200,’flg’,20.3}
Bx=(200,’flg’,20.3)
Cx=[200,’flg’,20.3]
Dx={‘flg’:
20.3}
19.
以下程序的输出结果是:
ss=list(set("
jzzszyj"
ss.sort()
print(ss)
A['
z'
'
j'
s'
y'
]
B['
C['
D['
20.以下程序的输出结果是:
ss=set("
htslbht"
sorted(ss)
foriinss:
print(i,end='
A
htslbht
B
hlbst
C
tsblh
D
hhlstt
21.已知id(ls1)=4404896968,以下程序的输出结果是:
ls1=[1,2,3,4,5]
ls2=ls1
ls3=ls1.copy()
print(id(ls2),id(ls3))
A44048969684404896904
B44048969044404896968
C44048969684404896968
D4*******044404896904
22.以下程序的输出结果是:
ls=list({'
shandong'
200,'
hebei'
300,'
beijing'
400})
print(ls)
300'
'
200'
400'
C[300,200,400]
D'
23.
以下关于文件的描述,错误的是:
A二进制文件和文本文件的操作步骤都是“打开-操作-关闭”
Bopen()打开文件之后,文件的内容并没有在内存中
Copen()只能打开一个已经存在的文件
D文件读写之后,要调用close()才能确保文件被保存在磁盘中了
24.以下程序输出到文件text.csv里的结果是:
fo=open("
text.csv"
w'
x=[90,87,93]
z=[]
foryinx:
z.append(str(y))
fo.write("
"
.join(z))
fo.close()
A[90,87,93]
B90,87,93
C‘[90,87,93]’
D‘90,87,93’
25.以下程序的输出结果是:
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([12,34,56,78])
D[1,2,3,4,5]
26.
以下关于数据维度的描述,错误的是:
A采用列表表示一维数据,不同数据类型的元素是可以的
BJSON格式可以表示比二维数据还复杂的高维数据
C二维数据可以看成是一维数据的组合形式
D字典不可以表示二维以上的高维数据
27.
以下不属于Python的pip工具命令的选项是:
Ashow
Binstall
Cdownload
Dget
28.
用Pyinstall工具把Python源文件打包成一个独立的可执行文件,使用的参数是:
A-D
B-L
C-i
D-F
29.以下不是程序输出结果的选项是:
importrandomasr
ls1=[12,34,56,78]
r.shuffle(ls1)
print(ls1)
A[12,78,56,34]
B[56,12,78,34]
C[12,34,56,78]
D[12,78,34,56]
30.
以下关于turtle库的描述,正确的是:
A在importturtle之后就可以用circle()语句,来画一个圆圈
B要用fromturtleimportturtle来导入所有的库函数
Chome()函数设置当前画笔位置到原点,朝向东
Dseth(x)是setheading(x)函数的别名,让画笔向前移动x
31.
一些重要的程序语言(如C语言和Pascal语言)允许过程的递归调用。
而实现递归调用中的存储分配通常用
A栈
B堆
C链表
D数组
32.
下列叙述中正确的是
A一个算法的空间复杂度大,则其时间复杂度必定小
B一个算法的空间复杂度大,则其时间复杂度也必定大
C算法的时间复杂度与空间复杂度没有直接关系
D一个算法的时间复杂度大,则其空间复杂度必定小
33.
为了提高测试的效率,应该
A随机选取测试数据
B在完成编码以后制定软件的测试计划
C取一切可能的输入数据作为测试数据
D集中对付那些错误群集的程序
34.
软件开发离不开系统环境资源的支持,其中必要的测试数据属于
A辅助资源
B硬件资源
C通信资源
D支持软件
35.
完全不考虑程序的内部结构和内部特征,而只是根据程序功能导出测试用例的测试方法是
A错误推测法
B白箱测试法
C黑箱测试法
D安装测试法
36.
在数据管理技术发展过程中,文件系统与数据库系统的主要区别是数据库系统具有
A特定的数据模型
B数据无冗余
C专门的数据管理软件
D数据可共享
37.
下列有关数据库的描述,正确的是
A数据库是一个关系
B数据库是一个DBF文件
C数据库是一个结构化的数据集合
D数据库是一组文件
38.
相对于数据库系统,文件系统的主要缺陷有数据关联差、数据不一致性和
A可重用性差
B冗余性
C非持久性
D安全性差
39.
软件开发的结构化生命周期方法将软件生命周期划分成
A定义、开发、运行维护
B设计阶段、编程阶段、测试阶段
C总体设计、详细设计、编程调试
D需求分析、功能定义、系统设计
40.
下列不属于结构化分析的常用工具的是
A判定树
B数据字典
C数据流图
DPAD图
二、操作题
101
描述
参照代码模板完善代码,实现下述功能。
从键盘输入一个整数和一个字符,以逗号隔开,在屏幕上显示输出一条信息。
示例1:
输入:
请输入1个整数和1个符号,逗号隔开:
10,@
输出:
@@@@@@@@@@10@@@@@@@@@@
示例2:
8,#
########8########
输入输出示例
输入
输出
示例1
习题讲解
答案:
#在_____处填写一行代码
ls=input().split('
)
(1)
print(ls[0].center(eval(ls[0])*2+len(ls[0]),ls[1]))
(2)
讲解:
1.理解input的结果是返回一个字符串
2.split是字符串的方法,能够以逗号把字符串分割成列表,但列表的元素都是字符串
3.用ls[0]和ls[1]分别取得输入的数字和后面的符号
4.题目要求用一行表达式来解决这个问题,所以增加了难度
5.此时要想起来用字符串的操作方法center,问题就迎刃而解了,这个方法str.center(x,y)会用字符串str构造一个新的字符串,新的字符串长度是x,两边填充y。
此处的x是数字,y是字符
6.要记得ls[0]里的10是一个字符串,所以要记得用eval把它变成数字,乘2,加上10自己的长度,就得到了所需的x;
y就是ls[1]里的字符
7.这道题关键是深入理解,并灵活运用center
102
输入一个正整数n,自动生成n个1-100范围内的随机浮点数,计算输出每个随机数,并显示平均值。
输入格式
输入一个正整数n
输出格式
输出n个1-100范围内的随机浮点数,并显示平均值
4
27.337682138808397
25.469857251321084
86.76520259704735
3.6817383527287464
theaverageis:
35.81362008497639
importrandom
random.seed()
n=eval(input())
sum=0
foriinrange(n):
random.uniform(1,100)
sum+=f1
print(f1)
print(‘theaverageis:
’,sum/n)
1.要使用random随机库,所以要importrandom
2.题目限制了程序框架,所以主要考核uniform(),题目并不难
3.要能读懂程序,最后就知道求平均数,是用sum/n
103
输入一个字符串,检查并统计字符串中包含的英文单引号的对数。
如果没有找到单引号,就在屏幕上显示“没有单引号”;
每统计到2个单引号,就算一对,如果找到2对单引号,就显示“找到了2对单引号”;
如果找到3个单引号,就显示“有1对配对单引号,存在没有配对的单引号”。
示例如下:
dfd'
dfa'
fd'
有1对配对单引号,存在没有配对的单引号
输入一个字符串
检查并统计字符串中包含的英文单引号的对数。
st=input()
pair=0
count=0forsinst:
ifs=="
"
pair+=1
ifpair%2==0:
count+=1ifpair==0:
pro="
没有单引号"
elifpair%2==0:
有{}对单引号"
.format(count)else:
有{}对配对单引号,存在没有配对的单引号"
.format(count)print(pro)
多分支结构,分支语句的嵌套
利用对2求模运算,来判断单引号是否配对
利用pro变量来记录不同情况下的输出内容,最后只用一个print来输出显示
利用字符串的format操作,把合成要输出的变量和提示字符串
201
参照代码模板完善代码,实现下述功能,不得修改其它代码。
使用turtle库的turtle.fd()函数和turtle.seth()函数绘制嵌套六角形,六角形边长从1像素开始,第一条边从0度方向开始,边长按照3个像素递增,效果如下图所示。
本题暂不支持自动评阅,检查绘制图形无误后,print('
ok'
)
即可得分。
#不允许修改其他代码
import
turtle
edge=6
d=0
k=1
for
j
in
range(10):
i
range(edge):
turtle.fd(k
(1))
d+=
360/edge
或
60
(2)
turtle.seth(d)
k+=
3(3)
turtle.done()
1.二重循环,第一道循环控制画的圈数,内循环控制六边形的边数
2.六边形,所以每次画笔旋转的角度是360/edge,或者直接写60也可以
k用来控制不断增加的边长,根据题目给的增量是3
202
实现下面的功能:
有一个文件data.txt内容如下:
{'
sid'
501'
7月'
9000,'
8月'
9500,'
9月'
9200}
502'
8000,'
8500,'
8200}
503'
7000,'
7500,'
7200}
将文件的数据内容提取出来,计算每个人的平均工资,将其转化为字典salary,按照key的递增序在屏幕上显示输出score的内容,内容示例如下:
501:
[9500,9000,9200,9233]
502:
[8500,8000,8200,8233]
503:
[7500,7000,7200,7233]
按照key的递增序在屏幕上显示输出score的内容,内容示例如下:
读文件data.txt
附件
序号
名称
程序内使用说明
1
data.txt
salarys={}
fi=open("
data.txt"
r'
encoding='
utf-8'
forlinfi:
#print(l)
stud=eval(l)
sv=stud.items()
v=[]
k='
foritinsv:
ifit[0]=='
k=it[1]
v.append(it[1])
v.append(sum(v)//len(v))
salarys[k]=v
fi.close()
#print(scores)
so=list(salarys.items())
so.sort(key=lambdax:
x[0],reverse=False)forlinso:
{}:
{}'
.format(l[0],l[1]))
1.有读文件,写入字典,取出到列表,排序,显示输出
2.先从文件中按行读取数据,通过eval()变换成字典,然后通过items()获取每个字典的键值对构成的列表
3.每个字典项的键值对有四个元组,对四个元组做遍历循环,构造所需要的新字典salarys
4.新字典的键是it[0]为‘sid’对应的it[1];
而值则是其他it[0]对应的it[1],要将这些it[1]通过append()拼成一个新的列表v,
5.一组字典项处理完成之后,要用对v的求和函数和求长度函数返回的值,计算平均分,并且也append到v列表里
6.最后把k和v加到salarys里,生成新的字典
7.对新的字典提取items构成列表,对列表按照键sid的升序排序,并输出显示。
301
参照代码模板完善代码,实现下述功能,可以修改其它代码。
附件文件question.txt中有若干道Python选择题目,第1行的第1个数据为题号,后续的4行是4个选项,接下来是第二道题。
示例内容如下:
1.以下关于字典类型的描述,错误的是:
A.字典类型中的数据可以进行分片和合并操作
B.字典类型是一种无序的对象集合,通过键来存取
C.字典类型可以在原来的变量上增加或缩短
D.字典类型可以包含列表和其他数据类型,支持嵌套的字典
24.以下属于Python图像处理第三方库的是:
A.PIL
B.mayavi
C.TVTK
D.pygame
读取其中的内容,提取题干和四个选项的内容,利用jieba分词并统计出现频率最高的3个词,其中要删除以下的常用字和符号
的,:
:
可以是
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 全国 计算机等级考试 二级 Python 解析 12