编程全国计算机等级考试二级Python真题及解析8word练习.docx
《编程全国计算机等级考试二级Python真题及解析8word练习.docx》由会员分享,可在线阅读,更多相关《编程全国计算机等级考试二级Python真题及解析8word练习.docx(30页珍藏版)》请在冰豆网上搜索。
编程全国计算机等级考试二级Python真题及解析8word练习
【编程】全国计算机等级考试二级Python真题及解析(8)word练习
一、选择题
1.Python中的数据类型float表示()
A.布尔型B.整型C.字符串型D.浮点型
2.在Python中,判断n是否为偶数的表达式是()
A.n/2=0
B.n%2==0
C.n%2=0
D.n/2==0
3.在Python中print(8+7%2**2)的执行结果是()
A.5B.1C.6D.11
4.在Python代码中表示“x属于区间[a,b)”的正确表达式是()。
A.a≤xandx<bB.n<=xorx<bC.x>=aandx<bD.x>=aandx>b
5.下列哪个语句在Python中是非法的?
( )
A.x=y=z=1B.x=(y=z+1)C.x,y=y,xD.x+=y x=x+y
6.运行如下Python程序,结果为()。
A.1B.3C.6D.18
7.12Python语言语句块的标记是()
A.分号B.逗号C.缩进D./
8.python文件的扩展名是()
A.pyB.pyeC.vbpD.pyr
9.python的命令行提示符是()
A.###B.>>>C.///D.C:
》
10.在python中,下列属于字符串常量的是()
A."python"B.3.14C.cntD.2018
11.已知字符串s1="python",s2="Python",则表达式中s1>s2的值为()
A.“python”B.“Python”C.TrueD.False
12.已知列表list1=[88,22,34,89,67],则python表达式min(list1)的值为()
A.22B.88C.89D.67
13.下列Python程序运行后的输出结果是()。
s=0
foriinrange(1,10):
s=s+i
print("s=",s)
A.s=35B.s=45C.s=55D.s=65
14.在python语言中,下列表达式中不是关系表达式()
A.m==nB.m>=nC.mornD.m!
=n
15.下列Python表达式中,能正确表示不等式方程|x|>1解的是()
A.x>1orx<-1B.x>-1orx<1C.x>1andx<-1D.x>-1andx<1
16.python中,表达式5%2=()。
A.2.5B.2C.1D.0
17.利用Python求100以内所有能被3整除的正整数,代码如下:
则下列程序第3行的横线应该填()
A.i=i*3B.i=i%3C.i%3==0D.i/3==1
18.Python语言自带的IDLE环境的退出命令是( )
A.EscB.closeC.回车键D.exit
19.在Python中运行后,b的值是()
a=6
Ifa>=0:
b=a+2
Else:
b=a-2
print(b)
A.6B.8C.10D.12
20.在python中运行print(“3+6”)的结果是()。
A.9B.“3+6”C.3+6D.“9”
21.在下面的python程序中,变量b和c的值为()。
A.b为6,c为6B.b为6,c为8C.b为8,c为8D.b为8,c为6
22.在Python中,实现多分支选择结构的较好方法是()。
A.ifB.if-elseC.if-elif-elseD.if嵌套
23.在Python程序设计语言中,用于输入和输出的函数分别是()
A.read()和write( )B.input()和output( )
C.input()和print( )D.cin()和cout()
24.在python中,Int()函数的功能是返回不大于x的最大整数,设a=3,b=4,c=5,则下列表达式的运算结果中值最大的是()
A.math.sqrt(b)B.abs(a-b)C.Int(2*a-c/b)D.a**2+b**2-c**2
25.关于Python语句P=–P,以下选项中描述正确的是()
A.P和P的负数相等B.P和P的绝对值相等
C.将P赋值为它的相反数D.P的值为0
26.在Python中要生成随机数,应该使用()。
A.math模块B.random模块
C.numpy模块D.pygame模块
27.在python中,下列哪个选项是正确的赋值语句()
A.5s=80B.2018=xC.a+b=cD.s=s+5
28.python单行注释和多行注释分别是什么?
()
A.""""""和''''''B.#和""""""C.//和''''''D.#和//
29.下列哪条赋值语句在Python中是非法的:
()
A.X=Y=Z=1B.X=(Y=Z+1)C.X,Y=Y,XD.X+=Y
30.Python中,保留字写法正确的是()
A.PRINT()
B.Print()
C.print()
D.Int()
二、程序填空
31.编写程序。
如图所示的算法,请用Python程序写出实现该算法相应的代码。
32.蒙特卡洛方法不仅可以用来模拟投针实验,还可以用来模拟求解圆周率T。
请根据所学知识,并上网搜索有关资料,找到利用蒙特卡洛方法求解圆周率Π的原理、方法和Python程序。
33.阅读程序。
分析以下两段Python程序并回答问题。
#程序1
i=1
whilei<101:
print('把这句话打印100遍')
i+=1
#程序2
i=100
whilei:
print('把这句话打印100遍')
i=i-2
(1)在程序1中,i+=1这句话的含义是______________。
(2)在程序1中,‘把这句话打印100遍’实际输出了_____遍。
(3)在程序2中,i的初值是___。
(4)在程序2中,‘把这句话打印100遍’实际输出了_____遍。
(5)在程序2中,whilei的含义是_________。
34.小强想要快速了解“十四五规划”内容的关键词,他先把“十四五规划”内容存储在ssw.txt文档中,如图a所示,统计文档中出现次数最多的前十个关键词,结果如图b所示。
文本数据处理的算法设计如图c所示,用Python语言编写的程序段如图d所示。
请根据流程图的每个步骤,填写程序段编号,如A:
⑦B:
①D:
③。
现填写C、E、F、G对应的程序段编号.C:
__________E:
__________F:
__________G:
__________
图a
图b
图c
图d
35.某种数据加密方法描述如下(加密前数据是ASCII字符):
●以8个数据为一段,将n个待加密数据依次分割成若干个数据段,剩余数据(个数小于8)为独立数据段。
●数据加密规则:
数据个数等于8的数据段,对各个字符进行位置变换;数据个数小于8的数据段,不进行位置变换。
位置变换:
用位置变换密钥数组c,将数据段每个字符进行位置变换,方法如下:
加密后某数据段的第i个元素=对应原数据段的第c(i)个元素,其中i=1,2,……,8。
数值变换:
位置变换后,依次取出各个字符进行数值变换:
把该字符的ASCII码转二进制,然后与密钥m对应的二进制数(m为1到255之间的整数)按位异或运算。
异或运算(⊕)规则:
如果a、b两个值不相同,则a⊕b结果为1;如果a、b两个值相同,则a⊕b结果为0,即:
0⊕0=0,1⊕0=1,0⊕1=1,1⊕1=0。
●把上述处理的得到二进制数依次拼接,即构成最后的加密数据例如,待加密数据为“python3.50”,数组c各元素的值依次是
数组c
3
6
1
5
2
8
4
7
则数据位置变换如下:
如值变换密钥m为35(二进制表示是00100011),则字符“t”(ASCII码值是116,二进制表示是010100)的数值变换过程如下:
变换前
0
1
1
1
0
1
0
0
密钥m
0
0
1
0
0
0
1
1
变换后
0
1
0
1
0
1
1
1
(1)已知“A”的ASCII码值是65,m=35,则“A”数值变换后的结果是_______(填二进制数据)。
(2)小李根据上述算法,设计了一个数据加密程序,其VB代码如下,请在划线处填入合适的代码。
Constn=1024
Dimc(1To8)AsInteger
PrivateSubForm_Load()
‘产生位置变换密钥数组c,代码略
EndSub
Functionconvert(cAsInteger)AsString
‘程序功能:
把整数c转成8位二进制数,代码略
EndFunction
PrivateSubCommand1_Click()
DimsAsString,stAsString,ssAsString,resAsString
DimiAsInteger,jAsIntegerstartAsInteger
Dima(1Ton)AsString,b(1Ton)AsString
s=Text1.Text
st=convert(Val(Text2.Text))
Fori=1ToLen(s)
a(i)=Mid(s,i,1)
Nexti
i=1:
start=-8
DoWhile①________
IfiMod8=1Thenstart=start+8
b(i)=②_______
i=i+1
Loop
Forj=iToLen(s)
b(j)=a(j)
Nextj
Fori=1ToLen(s)
③________
Forj=1To8
IfMid(ss,j,1)=Mid(st,j,1)Then
res=res+"0"Elseres=res+"1"
'按位异或
Nextj
Nexti
Text3.Text=res
EndSub
36.“百鸡百钱”问题是一个有名的数学问题,出自《张丘建算经》。
其内容是:
公鸡5文钱1只,母鸡3文钱1只,小鸡3只1文钱,用100文钱买100只鸡,其中公鸡、母鸡和小鸡都必须要有,问公鸡、母鸡和小鸡各多少只?
打开文件“考生文件夹\644\百鸡百钱.py”,完善程序实现以下功能并保存。
(1)请不要更改源程序的结构,删除原题里的①、②、③。
填写正确的代码,使程序完善。
(2)运行程序,运行结果如图所示。
#请不要更改源程序的结构,删除原题里的①、②、③。
填写正确的代码,使程序完善
money=100#一共100文钱
num=100#一共100只鸡
cock_price=5#公鸡价格5文
hen_price=3#母鸡价格3文
threechick_price=1#3只小鸡1文
forcock_numinrange(1,money//cock_price+1):
#公鸡只数可能为1-20
forhen_numinrange(1,①________):
#母鸡只数可能为1-33
forchick_numinrange(1,②________):
#(3小鸡)只数可能为1-100
money1=cock_num*cock_price+hen_num*hen_price+chick_num*threechick_price
num1=cock_num+hen_num+chick_num*3
ifmoney1==moneyandnum1==num:
print(cock_num,hen_num,③________)#(③小鸡数)
input("运行完毕,请按回车键退出...")
37.计算机解决问题的过程为“分析问题——设计算法(流程图)——编写程序——调试程序”,
请输入以下代码,自己输入数据运行,结果截图提交
38.调试程序。
请阅读以下程序并写出运行结果。
#ex16.py
i=0
sum=0
whilei<10:
ifi%3==0:
sum+=i
print(i)
i=i+1
print('sum',sum)
_________
39.将下列程序代码补充完整:
某同学参加了学校体检,体检的医生告诉他体重超重,需要加强运动。
该同学了解到运动时,心率如能控制在一定范围内,对增强心血管系统和呼吸系统的功能都有很好的效果;超出范围,对身体反而会有损伤。
男最适宜运动心率=(220-年龄数-安静心率)×(60%~80%)+安静心率,女最适宜运动心率=(210-年龄数-安静心率)×(60%~80%)+安静心率,补充程序帮他(她)计算最适宜的运动心率。
age=float(input('请输入age='))
HRrest=float(input('请输入HRrest='))
gender=input(“请输入maleorfemale:
”)
if____________________:
____________________
else:
_____________________
low=(n-age-HRrest)*0.6+HRrest
high=(n-age-HRrest)*0.8+HRrest
print('最适宜的心率是:
',low,'~',high)
input(“运行完毕,请按回车键退出...”)
40.请在空格处填写正确的代码,使程序完善。
实现功能:
绘制y=x2-2x+1的图像
#加载numpy模块并限简洁的别名为np
importnumpyasnp
#加载matplotlib.pyplot模块并限简洁的别名为plt
importmatplotlib.pyplotasplt
#x在-7到9之间,每隔0.1取一个点
x=np.arange(-7,9,0.1)
_____=x**2-2*x+1
plt.plot(x,________)
plt.title('y=x*x-2*x+1')
plt.xlabel('x')
plt.ylabel('y')
plt._________
【参考答案】***试卷处理标记,请不要删除
一、选择题
1.D
【详解】
本题主要考查Python数据类型。
布尔型bool,整型int,字符串型String,浮点型float,故本题选D选项。
解析:
D
【详解】
本题主要考查Python数据类型。
布尔型bool,整型int,字符串型String,浮点型float,故本题选D选项。
2.B
【详解】
本题主要考查Python表达式的运算。
Python中取余符号是“%”,“==”是用来判断两个对象的值是否相等,故判断n是否为偶数的表达式是n%2==0,故本题选B选项。
解析:
B
【详解】
本题主要考查Python表达式的运算。
Python中取余符号是“%”,“==”是用来判断两个对象的值是否相等,故判断n是否为偶数的表达式是n%2==0,故本题选B选项。
3.D
【详解】
本题考查的是Python表达式。
**是幂次方优先级最高,%是求余。
8+7%2**2=8+7%4=8+3=11,print是输出语句。
故选项D正确。
解析:
D
【详解】
本题考查的是Python表达式。
**是幂次方优先级最高,%是求余。
8+7%2**2=8+7%4=8+3=11,print是输出语句。
故选项D正确。
4.C
【详解】
本题主要考查Python表达式。
Python表达式中,大于等于运算符用“>=”表示,故“x属于区间[a,b)”的正确表达式是x>=aandx<b,故本题选C选项。
解析:
C
【详解】
本题主要考查Python表达式。
Python表达式中,大于等于运算符用“>=”表示,故“x属于区间[a,b)”的正确表达式是x>=aandx<b,故本题选C选项。
5.B
【详解】
本题主要考查Python语句。
对于语句x=(y=z+1),y=z+1是一个赋值语句,作为一个整体没有返回值,x等于的是个空值,故该语句是非法的,故本题选B选项。
解析:
B
【详解】
本题主要考查Python语句。
对于语句x=(y=z+1),y=z+1是一个赋值语句,作为一个整体没有返回值,x等于的是个空值,故该语句是非法的,故本题选B选项。
6.C
【详解】
本题主要考查Python循环结构。
分析程序可知,该程序求m、n的最大公约数,程序结束后m=6,此时r=0,故本题选C选项。
解析:
C
【详解】
本题主要考查Python循环结构。
分析程序可知,该程序求m、n的最大公约数,程序结束后m=6,此时r=0,故本题选C选项。
7.C
【详解】
本题考查的是Python语言相关知识。
Python语言中用缩进来标记语句块,故选项C正确。
解析:
C
【详解】
本题考查的是Python语言相关知识。
Python语言中用缩进来标记语句块,故选项C正确。
8.A
【详解】
本题主要考查Python文件。
python文件的扩展名是py,故本题选A选项。
解析:
A
【详解】
本题主要考查Python文件。
python文件的扩展名是py,故本题选A选项。
9.B
【详解】
本题主要考查Python命令提示符。
python的命令行提示符是>>>,故本题选B选项。
解析:
B
【详解】
本题主要考查Python命令提示符。
python的命令行提示符是>>>,故本题选B选项。
10.A
【详解】
本题主要考查Python数据类型。
"python"是字符串常量,3.14、2018是数值型常量,cnt是变量,故本题选A选项。
解析:
A
【详解】
本题主要考查Python数据类型。
"python"是字符串常量,3.14、2018是数值型常量,cnt是变量,故本题选A选项。
11.C
【详解】
本题主要考查Python字符串。
比较字符串的大小,是将两个字符串的字符一一比较它们的ASCII值,小写字母的ASCII值大于大写字母,故表达式中s1>s2的值为True,故本题选C选项
解析:
C
【详解】
本题主要考查Python字符串。
比较字符串的大小,是将两个字符串的字符一一比较它们的ASCII值,小写字母的ASCII值大于大写字母,故表达式中s1>s2的值为True,故本题选C选项。
12.A
【详解】
本题主要考查Python列表。
min是返回列表中的最小值,列表list1=[88,22,34,89,67],则python表达式min(list1)的值为22,故本题选A选项。
解析:
A
【详解】
本题主要考查Python列表。
min是返回列表中的最小值,列表list1=[88,22,34,89,67],则python表达式min(list1)的值为22,故本题选A选项。
13.B
【详解】
本题主要考查Python程序的执行。
s=0,变量i的范围是1~9,循环体是s=s+i,程序运行后s=s+i=0+1+2+3+4+5+6+7+8+9=45,故本题选B选项。
解析:
B
【详解】
本题主要考查Python程序的执行。
s=0,变量i的范围是1~9,循环体是s=s+i,程序运行后s=s+i=0+1+2+3+4+5+6+7+8+9=45,故本题选B选项。
14.C
【详解】
本题主要考查python的表达式。
or属于逻辑运算符,morn不是关系表达式。
故本题选C选项。
解析:
C
【详解】
本题主要考查python的表达式。
or属于逻辑运算符,morn不是关系表达式。
故本题选C选项。
15.A
【详解】
本题主要考查Python表达式。
题干不等式方程可以写成x<-1或者x>1,用Python表示是x>1orx<-1,故本题选A选项。
解析:
A
【详解】
本题主要考查Python表达式。
题干不等式方程可以写成x<-1或者x>1,用Python表示是x>1orx<-1,故本题选A选项。
16.C
【详解】
本题考查的是python中的运算符相关知识。
在python中%表示取模,返回除法的余数,故5%2=1,选项C正确。
解析:
C
【详解】
本题考查的是python中的运算符相关知识。
在python中%表示取模,返回除法的余数,故5%2=1,选项C正确。
17.C
【详解】
本题主要考查Python程序的执行。
该程序实现求100以内所有能被3整除的正整数,故第3行的横线应该填i%3==0,故本题选C选项。
解析:
C
【详解】
本题主要考查Python程序的执行。
该程序实现求100以内所有能被3整除的正整数,故第3行的横线应该填i%3==0,故本题选C选项。
18.D
【详解】
本题主要考查Python基本知识。
Python程序设计语言默认安装时,会有一个自带的集成开发环境IDLE。
要创建Python程序文件,可以利用IDLE中的“文件“菜单。
可使用exit(
解析:
D
【详解】
本题主要考查Python基本知识。
Python程序设计语言默认安装时,会有一个自带的集成开发环境IDLE。
要创建Python程序文件,可以利用IDLE中的“文件“菜单。
可使用exit()或quit()退出Python,因此D选项正确。
【点睛】
19.B
【详解】
本题主要考查Python程序的执行。
a=6,满足a>=0,执行b=a+2=8,故在Python中运行后,b的值是8,故本题选B选项。
解析:
B
【详解】
本题主要考查Python程序的执行。
a=6,满足a>=0,执行b=a+2=8,故在Python中运行后,b的值是8,故本题选B选项。
20.C
【详解】
本题考查的是python中print函数。
print(str)#str是任意一个字符串,数字等。
“3+6”是字符串故输出为:
3+6,选项C正确。
解析:
C
【详解】
本题考查的是python中print函数。
print(str)#str是任意一个字符串,数字等。
“3+6”是字符串故输出为:
3+6,选项C正确。
21.C
【详解】
本题考察赋值语句。
将6赋值给a,此时a为6;
将8赋值给c,此时c为8;
将c复制给b,此时b的值即为c的值,b为8;
将b赋值给a,此时a即为b的值,a为8。
故a为8,b为8,c
解析:
C
【详解】
本题考察赋值语句。
将6赋值给a,此时a为6;
将8赋值给c,此时c为8;
将c复制给b,此时b的值即为c的值,b为8;
将b赋值给a,此时a即为b的值,a为8。
故a为8,b为8,c为8,故C选项正确。
22.C
【详解】
本题主要考查多分支选择结构。
多分支选择结构格式:
if-elif-else,故本题选C选项。
解析:
C
【详解】
本题主要考查多分支选