2022-12 Python二级真题
分数:100
题数:37
测试时长:60min
一、单选题(共25题,共50分)
1.运行下列程序,最终输出的结果是?(B)(2分)
info={1:'小明',2:'小黄',3:'小兰'}
info[4]='小红'
info[2]='小白'
print(info)
A.{1:'小明',2:'小白',3:'小红',4:'小兰'}
B.{1:'小明',2:'小白',3:'小兰',4:'小红'}
C.{1:'小白',2:'小名',3:'小兰',4:'小红'}
D.{1:'小明',2:'小红',3:'小兰',4:'小白'}
2.下列Python程序的功能是求?(B)(2分)
s=0
k=1
foriinrange(1,101):
s=s+k*i
k=-k
print(s)
A.s=1+2+3+5+6…+100的值
B.s=1-2+3-4+5-6+…-100的值
C.s=1+2+3+4+5+6…+101的值
D.s=1-2+3-4-5-6-…-101的值
3.有以下三个词组的列表,
game_name=['一只蜗牛','一只猫','一只兔子','孩子们','运动员们','一朵云']
game_where=['在伞底下','在沙滩上','在沙发上','在石头上','在天空中','在公园里']
game_what=['搭了个窝','在慢慢爬','玩滑梯','打排球','正在睡觉','遮住太阳']
如果造词的输出结果是“一只兔子在公园里搭了个窝”,代码正确的是?(A)(2分)
A.print(game_name[-4]+game_where[-1]+game_what[0])
B.print(game_name[2]+game_where[6]+game_what[0])
C.print(game_name[3]+game_where[6]+game_what[1])
D.print(game_name[-4]+game_where[5]+game_what[1])
4.执行下面代码,输出的结果是?(C)(2分)
for leibiein'student':
if leibie=='u':
break
print(leibie)
A. st
B. stu
C. s
t
D. s
t
u
5.score={'跳绳':85,'跳远':99,'跑步':92}。下列哪个代码可以将跳绳的85修改成95?(B)(2分)
A.score[跳绳]=95
B.score['跳绳']=95
C.score[0]=95
D.score['0']=95
6.已知列表a=[2,4,6],执行语句print(2*a),显示的结果是?(B)(2分)
A.[[2,4,6],[2,4,6]]
B.[2,4,6,2,4,6]
C.[4,16,36]
D.[4,8,12]
7.下列程序执行后,打印的结果是?(D)(2分)
a=[3,9,5]
b=a
b[0]=7
print(b)
A.[3,9,5]
B.[7,3,9,5]
C.[3,9,5,7]
D.[7,9,5]
8.
toy=['魔方','拼图']
toy.append('积木')
print(toy)
以上代码的运行结果是?(B)(2分)
A.['魔方','拼图',['积木']]
B.['魔方','拼图','积木']
C.['积木','魔方','拼图']
D.'魔方','拼图','积木'
9.
a=1
for i in range(4):
if i==3:
break
a+=1
else:
a+=2
print(a)
以上代码的运行结果是?(D)(2分)
A.4
B.5
C.6
D.7
10.想要删除gift字典中的键值对'糖果':10,可以使用的代码是?(B)(2分)
A.gift.pop('糖果':10)
B.gift.pop('糖果')
C.gift.remove('糖果':10)
D.gift.remove('糖果')
11.在空格处填入以下哪个语句,不能得到从大到小的排序结果是?(A)(2分)
list1=[1,5,9,67,4,44,99]
for i in range(2):
a=int(input())
list1.append(a)
_________________
for i in list1:
print(i,end="")
A.list1.sort()
B.list1=sorted(list1,reverse=True)
C.list1.sort(reverse=True)
D. list1.sort()
list1=list1[-1::-1]
12.下列关于列表变量ls操作的描述中,错误的是?(B)(2分)
A.min(ls):找出ls中最小元素
B.ls.remove(x):删除ls中所有x元素
C.ls.index(x):返回元素x在列表中的下标
D.ls.copy():生成一个新列表,复制ls的所有元素
13.下面代码的输出结果是?(B)(2分)
name="Python语言程序设计"
for i in range(5):
print(name[i],end='')
A.Python
B.Pytho
C.ython
D.Python语言程序
14.下列程序的运行结果是?(D)(2分)
str1="cat dog cat dog cat dog"
str2=str1.replace("cat","mouse",2)
print(str2)
A.cat dog mouse dog cat dog
B.2 dog mouse dog cat dog
C.mouse mouse dog mouse mouse dog cat dog
D.mouse dog mouse dog cat dog
15.下列程序的运行结果是?(D)(2分)
tem=(4,7,4,6,9)
tem=tem+(4,)
print(tem.count(4))
A.2
B.0
C.程序报错
D.3
16.下列说法正确的是?(D)(2分)
A.if语句通常用于重复执行某一段程序
B.while语句通常用于执行条件判断
C.在Python中可以使用do..while循环
D.break语句可以跳出for和while的循环体
17.已知有字符串str2="Good Morning!",则执行print(len(str2[1:-2]))输出的结果是?(C)(2分)
A.8
B.9
C.10
D.11
18.运行下列程序段后,输出的结果是?(B)(2分)
i=1
while i<=5:
i=i+2
print(i)
A.3
B.7
C.5
D.6
19.运行语句print("ab"<"ac")后,输出的结果是?(C )(2分)
A.0
B.1
C.True
D.False
20.若a=[1,2],b=[3,4],则执行a=a+b语句后,a的值是?(C )(2分)
A.[1,2]
B.[4,6]
C.[1,2,3,4]
D.[3,4]
21.小明用列表s存储小组同学的身高,s=[136.0,135.0,142.0,140.0],则max(s)的值是?( C)(2分)
A.136.0
B.135.0
C.142.0
D.140.0
22.已知list8列表有8个元素,执行print(list8[1:-2])输出的结果是一个列表,则输出的列表有几个元素?( B)(2分)
A.4
B.5
C.6
D.7
23.下面的d是一个字典变量,能够输出数字9的语句是?(B )(2分)
d={'奥运奖牌':{'金牌':5,'银牌':4},'金牌':9,'银牌':4}
A.print(d['奥运奖牌']['金牌'])
B.print(d['金牌'])
C.print(d['奥运奖牌'][-1])
D.print(d['金牌'][1])
24.设有元组tup=(5,2,8,1,89,43,7,22),执行下列语句,结果是?(C)(2分)
tup1=sorted(tup)
print(tup1)
A.[89,43,22,8,7,5,2,1]
B.(89,43,22,8,7,5,2,1)
C.[1,2,5,7,8,22,43,89]
D.(1,2,5,7,8,22,43,89)
25.下列代码输出的结果是?(D)(2分)
tup=('python',2022,'神州十三号')
print(type(tup))
A.<class'dict'>
B.<class'set'>
C.<class'list'>
D.<class'tuple'>
二、判断题(共10题,共20分)
26.字典的元素可以通过键来访问,也可以通过索引(下标)来访问。(错)
27.Python中,可以通过索引来访问列表、字符串等序列,也可以通过索引对列表中的元素和字符串中的字符进行修改。例如:a='python',a[0]='P',字符串a将被修改为“Python”。(错)
28.break用来跳出最内层for或者while循环,脱离该循环后程序继续执行后续代码。(对)
29.单分支结构是用if语句判断满足一个条件,就执行相应的处理代码。( 对)
30.tem1=(1),用type(tem1)检查其类型应该为tuple。(错)
31.在语句for i in range(5):中,当进入第5次循环时,i的值为5。(错)
32.clear()方法可以移除列表中第一次出现的该元素。(错)
33.运行如下代码:
words="123abc"
slice1=words[-1::-1]
print(slice1)
结果为:“cba321”。(对)
34.元组中的元素值是不允许删除的,但我们可以使用del语句来删除整个元组。(对)
35.else保留字除了可以和if语句一起搭配使用构成if...else..,也可以和while或for循环搭配使用,构成while...else...和for...else...结构。(对)
三、编程题(共2题,共30分)
36.编写一个重复执行的程序,要求用户输入一个字符串。如果输入的字符串的长度是奇数,就输出字符串最中间的字符。如果字符串的长度是偶数,就输出字符串的最后一个字符。然后重复以上操作。
参考程序:
whileTrue:
a=input("请输入字符串:")
length=len(a)
if(length%2)==0:
print(a[-1])
else:
print(a[int(length/2)])
评分标准:
(1)能正确地要求用户输入字符串;(2分)
(2)使用len()方法计算字符串的长度;(3分)
(3)使用至少一个if判断;(2分)
(4)能正确判断用户输入的字符串的长度是奇数还是偶数;(4分)
(5)当用户输入的字符串长度为奇数时,能正确地截取字符串最中间的字符并输出;(4分)
(6)当用户输入的字符串长度为偶数时,能正确地截取字符串的最后一个字符并输出;(3分)
(7)程序可循环运行。(2分)
37.从键盘输入任意字符串,按照下面要求分离字符串中的字符:
1、分别取出该字符串的第偶数位的元素(提醒注意:是按照从左往右数的方式确定字符串的位置);
2、并依次存储到一个列表中;
3、输出这个列表。
参考程序:
a=input('请输入任意字符串:')
b=[]
for i in range(1,len(a),2):
b+=a[i]
print(b)
评分标准:
(1)定义一个变量接受从键盘输入的字符串;(2分)
(2)for循环格式正确或者采用其他方法将偶数(或者所有)元素逐一取出;(3分)
(3)能够将取出的偶数位元素追加到列表中;(3分)
(4)输入列表正确。(2分)