资料全国计算机等级考试二级Python真题及解析3word练习.docx
《资料全国计算机等级考试二级Python真题及解析3word练习.docx》由会员分享,可在线阅读,更多相关《资料全国计算机等级考试二级Python真题及解析3word练习.docx(28页珍藏版)》请在冰豆网上搜索。
资料全国计算机等级考试二级Python真题及解析3word练习
资料全国计算机等级考试二级Python真题及解析3word练习
一、选择题
1.有如下Python程序,当程序运行后输入15000,则程序输出结果为()
A.2800B.2800.0C.12200D.12200.0
2.下列选项中,可以作为Python程序变量名的是()
A.a/bB.abC.a+bD.a-b
3.在Python中,Print(abs(-16//5))的执行结果是()
A.2.4B.3C.4D.-2.4
4.在python语言中,下列表达式中不是关系表达式()
A.m==nB.m>=nC.mornD.m!
=n
5.以下Python程序运行后的输出结果为()
A.0B.45C.46D.362880
6.下列哪个语句在Python中是非法的?
( )
A.x=y=z=1B.x=(y=z+1)C.x,y=y,xD.x+=y x=x+y
7.已知a=6,b=-4,则Python表达式a/2+b%2*3的值为()
A.3B.3.0C.5D.5.0
8.下面Python代码运行后,a、b的值为()
a=23
b=int(a/10)
a=a-b*10
print(a,b)
A.232B.32C.320D.23
9.下列Python表达式中,能正确表示“变量x能够被4整除且不能被100整除”的是()
A.(x%4==0)or(x%100!
=0)
B.(x%4==0)and(x%100!
=0)
C.(x/4==0)or(x/100!
=0)
D.(x/4==0)and(x/100!
=0)
10.利用Python求100以内所有能被3整除的正整数,代码如下:
则下列程序第3行的横线应该填()
A.i=i*3B.i=i%3C.i%3==0D.i/3==1
11.在python中运行print(“3+6”)的结果是()。
A.9B.“3+6”C.3+6D.“9”
12.在数学中,我们一般使用“=“表示相等关系,那么“=”在Python语言中的写法为()
A.=B.==C.:
=D.<>
13.对于Python语言中的语句“x=(num//100)%10”,当num的值为45376时,x的值应为()
A.3B.4C.5D.6
14.在python中,以下哪个选项a的数据类型为整型()
A.a=5B.a=input()C.a='5'D.a=5.0
15.在PythonIDLE编辑器中书写正确的表达式()
A.b**2-4acB.1/2gt2C.pi*r^2D.2*pi*r
16.已知字符串a="python",则a[1:
3]的值为()
A."pyth"B."pyt"C."py"D."yt"
17.以下哪个不属于计算机操作系统()
A.DOSB.UnixC.PythonD.Linux
18.现有如下python程序段:
foriinrange(6):
p.append(int(random()*10)+1)
foriinrange(2,6):
ifi%2==1andp[i]%2==0:
p[i]+=p[i-1]
elifi%2==0andp[i]%2==1:
p[i]-=p[i-1]
执行该程序段后,在下列选项中,列表p中的元素值不可能的是()
A.1,2,3,4,7,2
B.1,2,14,-9,-5,8
C.6,8,1,4,6,10
D.6,4,14,-7,3,8
19.以下文本框内是一段用Python程序设计语言编写的源代码,功能是输出200以内能被17整除的最大正整数。
这段源代码属于()。
A.软件B.程序C.指令D.高级语言
20.以下Python代码输出结果中说法正确的是()。
x=0
foriinrange(1,100):
x=x+i
print(x)
A.1+100的和B.1+99的和
C.1~99所有整数的和D.1~100所有整数的和
21.若用整型变量k表示某天是星期几(例如k=1表示该天是星期一、k=2表示该天是星期二……k=7表示该天是星期天),则下列能够正确表示k的下一天是星期几的python表达式为()
A.k+1B.k%7+1C.(k+1)%7D.(k+1)%7-1
22.下面选项中对Python操作描述错误的是()
A.x1+x2连接列表x1和x2,生成新列表
B.x*n将列表x复制次,生成新列表
C.Min(x)列表x中最大数据项
D.Len(x)计算列表中成员的个数
23.关于Python的内存管理,下列说法错误的是()
A.变量不必事先声明B.变量无需先创建和赋值就可直接使用
C.变量无须制定类型D.可以使用del释放资源
24.在Python中运行下列程序,输出结果为()
foriinrange(1,5):
print(i)
A.1,2,3,4,5B.12345C.0,1,2,3,4D.1234
25.下列不可以用来搭建本地服务器的软件是()
(1)Python
(2)Excel(3)IIS(4)Apache
A.
(1)
(2)B.(3)(4)C.
(1)
(2)(3)(4)D.
(1)
(2)(4)
26.下列python表达式中,值为字符串类型的是()
①Abs(x)②“abc”*3③“123+45”④123+45⑤a=input(“请输入a的值:
”)
A.①③⑤B.②④⑤C.①②③D.②③⑤
27.Python程序中第一行:
a=int(input()),第二行:
print(a+5),运行程序后键盘输入3,输出结果是()。
A.5B.3C.8D.其他
28.已知列表list1=[8,22,34,9,7],则python表达式len(list1)+min(list1)的值为()
A.5B.34C.7D.12
29.在Python中自定义函数需要什么关键字放在函数开始()
A.functionB.defC.defineD.void
30.Python中“ab”+“cd”*2的结果是()。
A.abcd2B.abcdabcdC.abcdcdD.ababcd
二、程序填空
31.学校气象小组使用自动测温仪在校园测量了1月12日的气温,并利用Python绘制了这天的气温图,该图如下所示:
(1)在以上Python程序中,变量Y的数据类型是_________。
(2)在以上Python程序中,第8行横线处的代码是_________。
(3)通过观察,气温釆样间隔时间是_________个小时。
32.编写Python程序实现如下功能:
输入年月日,输入格式如“2021-06-21”,年月日之间用“-”分隔。
判断这一天是这一年的第几天。
以2021-06-21为例,前面5个月总天数,加上21天即这一天是本年的第几天。
特殊情况,当输入的年份是闰年时,2月份有29天。
闰年的判断方式如下:
I、能被4整除,但不能被100整除;
II、能被400整除;
(1)“2020-05-20”这一天是这一年的第_________天。
(2)编写Python代码如下,在划线处填入正确的代码
_________________
_________________
_________________
(3)加框处的代码有误,请改正。
改正:
_________________
mon=[31,28,31,30,31,30,31,31,30,31,30,31]#mon中存储1-12每个月的天数
s=input("请输入年月日:
")
'month=int(s[5:
7])
①
sum=0
foriinrange(②):
sum+=mon[i]
sum+=day
if
:
isleap=True
else:
isleap=False
if③
sum+=1
print("这一天是当年的第"+str(sum)+''天'')
33.设计完成算法之后,小C打算用所学的Python程序设计语言完成程序的编写。
(1)Python程序设计语言属于程序设计语言中的_______________。
A.机器语言B.汇编语言C.高级语言D.翻译程序
(2)小C将设计好的算法转为Python程序语言(如下)。
其中“Tot2=8”是一个___________,“#初始化时长费为0”是一个__________,“S<=3.3”是一个___________,“float(input(“请输入时长”))”是一个__________。
A.函数B.表达式C.赋值语句D.注释语句
1Tot1=0#初始化时长费为0
2Tot2=0#初始化里程费为0
3S=float(input(“请输入里程数”))
4T=float(input(“请输入时长”))#输入里程数和时长
5if(T>9):
#计算时长费用
6Tot1=(T-9)*0.2
7if(S<=3.3):
#算里程费用
8Tot2-8
9else:
10Tot2=8+(S-3.3)*1.35
11Cost-Totl+tot2
12print(Cost)#输出总车费
(3)小C写好代码之后,编译运行发现报错了,根据下图中所示的错误信息分析该程序报错的原因是:
____________________________________________________________________________________________。
NameErrorTraceback(mostrecentcalllast)
in
9else:
10
—→11Cost=Tot1+tot2
12
NameError:
name’tot2’isnotdefined
(4)经过修改之后,小C对照某次滴滴打车的订单,将对应的公里数和时长输入程序,运行得到的结果与实际支付的费用一致,小C会心一笑验证得知程序正确无误。
小C借助于计算机编写程序解决问题的这个过程是:
①设计算法②编写程序③分析问题④调试运行程序,合理的顺序是_________。
(填写序号即可)
(5)总结用计算机解决问题的优势主要有:
_______________________________________________。
34.若两个素数之差为2,则该对素数称为双胞胎数,如3,5就是一对双胞胎数。
编写python程序,实现如下功能:
输入n的值,统计显示n以内的所有双胞胎数。
程序运行界面如图所示:
实现上述功能的程序如下,请在划线处填入合适的代码。
importmath
defisprime(x):
______
foriinrange(2,int(math.sqrt(x))+1):
ifx%i==0:
f=False
returnf
n=int(input("请输入一个正整数n:
"))
c=0
k=3
whilek<=n-2:
ifisprime(k)and______________:
c+=1
print("第"+str(c)+"对双胞胎数:
",k,'和',k+2)
_______
print("共有"+str(c)+"对双胞胎数")
划线处①处应该填入的语句为:
;
划线处②处应该填入的语句为:
;
划线处③处应该填入的语句为:
。
35.在一千多年前的《孙子算经》中,有这样一道算术题:
“今有物不知其数,三三数之剩二,五五数之剩三,七七数之剩二,问物几何?
”。
即一个数除以3余2,除以5余3,除以7余2,求这个数。
i=①________
while(i%3!
=2②________i%5!
=3ori%7!
=2):
i=③________
print(i)
36.程序设计:
键盘输入任意的正整数,程序输出与其相应的二进制数。
代码如下:
n=int(input("请输入一个十进制数:
"))
result=[]
whilen>0:
result.append(①)
n=②
result.reverse()
foriinresult:
print(i,end=”)
(1)程序代码中①处正确的代码是(_______)。
A.n%2B.n/2C.n//2D.n*2
(2)程序代码中②处可能的代码是(_______)。
A.n%2B.n/2C.n//2D.n*2
37.求100以内素数。
38.编写一个程序,判定用户输入的两个数a和b,如果用户输入的第一个数大,则两数互换,否则原样输出。
39.阅读程序。
foriinrange(1,10):
forjinrange(1,i+1):
print("%dX%d=%2d"%(j,i,j*i),end="")
print()
(1)在第一行程序中,变量i的数据范围为_____到____。
(2)在第二行的程序中,变量j的数据范围为_____到____。
(3)如果“%d”表示十进制数,那么%2d则表示____位宽的十进制数。
(4)第三行程序改为print("%dX%d=%2d"%(i,j,i*j),end=""),则本题的输出应该是_____。
(5)如果最后一行的print()表示换行,那么end=””的功能是_______。
40.请在空格处填写正确的代码,使程序完善。
实现功能:
用辗转相除法求解两个正整数的最大公约数。
x=int(input('请输入第一个正整数:
'))
y=int(input('请输入第二个正整数:
'))
m=max(x,y)#找出x,y中的最大值
n=min(x,y)#找出x,y中的最小值
r=m%n#求得最大值除以最小值后的余数
whiler!
=0:
#如果余数不等0,则进行以下循环
m=________#把最小值赋给m
n=_________#把余数赋给n
r=m%n#求得最大值除以最小值后的余数
print('这两个数的最大公约数为:
',______)
input("运行完毕,请按任意键退出....")
【参考答案】***试卷处理标记,请不要删除
一、选择题
1.D
【详解】
本题考查的是Python的选择嵌套语句。
先判断是否小于等于5000,接着在判断是否小于等于7000,最后判断是否小于等于10000。
15000不小于等于10000,故执行tax=800
解析:
D
【详解】
本题考查的是Python的选择嵌套语句。
先判断是否小于等于5000,接着在判断是否小于等于7000,最后判断是否小于等于10000。
15000不小于等于10000,故执行tax=800+(salary-1000)*0.4=800+(15000-10000)*0.4=800+2000=2800.0。
因为salary接收的是浮点型数据。
salary-tax=15000-2800.0=12200.0。
故选项D正确。
2.B
【详解】
本题主要考查Python变量的命名。
变量的命名规则有:
只能以字母或下划线开头,不能包含特殊符号,不能是关键字。
故ab可以作为Python程序变量名,故本题选B选项。
解析:
B
【详解】
本题主要考查Python变量的命名。
变量的命名规则有:
只能以字母或下划线开头,不能包含特殊符号,不能是关键字。
故ab可以作为Python程序变量名,故本题选B选项。
3.C
【详解】
本题主要考查Python表达式的运算。
“//”是向下取整,abs是求绝对值函数,-16//5=-4,abs(-16//5)=4,故执行结果是4,故本题选C选项。
解析:
C
【详解】
本题主要考查Python表达式的运算。
“//”是向下取整,abs是求绝对值函数,-16//5=-4,abs(-16//5)=4,故执行结果是4,故本题选C选项。
4.C
【详解】
本题主要考查python的表达式。
or属于逻辑运算符,morn不是关系表达式。
故本题选C选项。
解析:
C
【详解】
本题主要考查python的表达式。
or属于逻辑运算符,morn不是关系表达式。
故本题选C选项。
5.A
【详解】
本题考查的是Python循环语句。
range(10)是[0,10)的整数。
故m=0*1*2*3*4*5*6*7*8*9=0,选项A正确。
解析:
A
【详解】
本题考查的是Python循环语句。
range(10)是[0,10)的整数。
故m=0*1*2*3*4*5*6*7*8*9=0,选项A正确。
6.B
【详解】
本题主要考查Python语句。
对于语句x=(y=z+1),y=z+1是一个赋值语句,作为一个整体没有返回值,x等于的是个空值,故该语句是非法的,故本题选B选项。
解析:
B
【详解】
本题主要考查Python语句。
对于语句x=(y=z+1),y=z+1是一个赋值语句,作为一个整体没有返回值,x等于的是个空值,故该语句是非法的,故本题选B选项。
7.B
【详解】
本题主要考查Python表达式的运算。
a=6,b=-4,a/2+b%2*3=6/2+(-4%2*3)=3.0+0=3.0,故本题选B选项。
解析:
B
【详解】
本题主要考查Python表达式的运算。
a=6,b=-4,a/2+b%2*3=6/2+(-4%2*3)=3.0+0=3.0,故本题选B选项。
8.B
【详解】
本题主要考查Python程序的执行。
a=23,b=int(a/10)=2(int(x)是返回不大于x的最大整数),a=a-b*10=23-2*10=3,故代码运行后,a、b的值为3和2
解析:
B
【详解】
本题主要考查Python程序的执行。
a=23,b=int(a/10)=2(int(x)是返回不大于x的最大整数),a=a-b*10=23-2*10=3,故代码运行后,a、b的值为3和2,故本题选B选项。
9.B
【详解】
本题主要考查Python表达式的运算。
逻辑运算符“且”用and表示,“或”用or表示,变量x能够被4整除用x%4==0表示,不能被100整除用x%100!
=0,故本题选B选项。
解析:
B
【详解】
本题主要考查Python表达式的运算。
逻辑运算符“且”用and表示,“或”用or表示,变量x能够被4整除用x%4==0表示,不能被100整除用x%100!
=0,故本题选B选项。
10.C
【详解】
本题主要考查Python程序的执行。
该程序实现求100以内所有能被3整除的正整数,故第3行的横线应该填i%3==0,故本题选C选项。
解析:
C
【详解】
本题主要考查Python程序的执行。
该程序实现求100以内所有能被3整除的正整数,故第3行的横线应该填i%3==0,故本题选C选项。
11.C
【详解】
本题考查的是python中print函数。
print(str)#str是任意一个字符串,数字等。
“3+6”是字符串故输出为:
3+6,选项C正确。
解析:
C
【详解】
本题考查的是python中print函数。
print(str)#str是任意一个字符串,数字等。
“3+6”是字符串故输出为:
3+6,选项C正确。
12.B
【详解】
本题主要考查Python运算符。
在Python语言等高级语言中,“=“往往被用于赋值语句,而表示相等的情况时,大多用“==”。
因此B选项正确。
解析:
B
【详解】
本题主要考查Python运算符。
在Python语言等高级语言中,“=“往往被用于赋值语句,而表示相等的情况时,大多用“==”。
因此B选项正确。
13.A
【详解】
本题主要考查Python语句。
num=45376,x=(45376//100)%10=453%10=3,故x的值应为3,故本题选A选项。
解析:
A
【详解】
本题主要考查Python语句。
num=45376,x=(45376//100)%10=453%10=3,故x的值应为3,故本题选A选项。
14.A
【详解】
本题考查Python数据类型。
Python数据类型有字符串,布尔类型,整数,浮点数等。
a=5,a为整数型;a=‘5’,则a为字符串;a=5.0,则a为浮点数。
故本题选A。
解析:
A
【详解】
本题考查Python数据类型。
Python数据类型有字符串,布尔类型,整数,浮点数等。
a=5,a为整数型;a=‘5’,则a为字符串;a=5.0,则a为浮点数。
故本题选A。
15.D
【详解】
本题主要考查Python表达式知识点。
书写表达式时运算符号不能省略,+加、-减、*乘、**幂、/除、//整除、%取模,A、B、C正确的表达式分别是b**2-4*a*c,1/2*g*t*
解析:
D
【详解】
本题主要考查Python表达式知识点。
书写表达式时运算符号不能省略,+加、-减、*乘、**幂、/除、//整除、%取模,A、B、C正确的表达式分别是b**2-4*a*c,1/2*g*t**2,pi*r**2,2*pi*r是正确的表达式,故本题选D选项。
16.D
【详解】
本题主要考查Python字符串。
a[1:
3]取字符串索引第一个到第三个字符(不包括第三个),故a[1:
3]的值为"yt",故本题选D选项。
解析:
D
【详解】
本题主要考查Python字符串。
a[1:
3]取字符串索引第一个到第三个字符(不包括第三个),故a[1:
3]的值为"yt",故本题选D选项。
17.C
【详解】
本题主要考查计算机软件系统。
DOS、Unix、Linux均是计算机操作系统,Python是程序开发软件,故本题选C选项。
解析:
C
【详解】
本题主要考查计算机软件系统。
DOS、Unix、Linux均是计算机操作系统,Python是程序开发软件,故本题选C选项。
18.BD
【详解】
本题主要考查Python程序执行。
第一个for循环生成列表p,值是[1,10]之间随机整数,第二个for循环处理后4个元素,当i是奇数且生成的p[i]是偶数,则将前一个值累加到p[i
解析:
BD
【详解】
本题主要考查Python程序执行。
第一个for循环生成列表p,值是[1,10]之间随机整数,第二个for循环处理后4个元素,当i是奇数且生成的p[i]是偶数,则将前一个值累加到p[i],若i是偶数且生成的p[i]是奇数,则p[i]减去前一个值,分析选项B、D第三个元素14,此时i=2,如果p[2]原来生成的是奇数,则需要执行p[i]-=p[i-1