青少年软件编程(Python)等级考试试卷(二级)
分数:100 题数:37
一、单选题(共25题,每题2分,共50分)
01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 | 13 | 14 | 15 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
B | B | A | C | B | B | D | B | D | B | A | B | B | D | D |
16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 |
---|---|---|---|---|---|---|---|---|---|
D | C | B | C | C | C | B | B | C | D |
1、运行下列程序,最终输出的结果是?( )
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: ‘小白’}
- 标准答案:B
- 试题难度:中
2、下列Python程序的功能是求?( )
s = 0
k = 1
for i in range(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
的值
- 标准答案:B
- 试题难度:困难
3、有以下三个词组的列表,
game_name = ['一只蜗牛', '一只猫', '一只兔子', '孩子们', '运动员们', '一朵云']
game_where = ['在伞底下', '在沙滩上', '在沙发上', '在石头上', '在天空中', '在公园里']
game_what = ['搭了个窝', '在慢慢爬', '玩滑梯', '打排球', '正在睡觉', '遮住太阳']
如果造词的输出结果是“一只兔子在公园里搭了个窝”,代码正确的是?( )
- 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])
- 标准答案:A
- 试题难度:中
4、执行下面代码,输出的结果是?( )
for leibie in 'student':
if leibie == 'u':
break
print(leibie)
- A. st
- B. stu
- C.
s
t
- D.
s
t
u
- 标准答案:C
- 试题难度:较难
5、score = {'跳绳': 85, '跳远': 99, '跑步': 92}
。下列哪个代码可以将跳绳的85修改成95?( )
- A. score[跳绳] = 95
- B. score[‘跳绳’] = 95
- C. score[0] = 95
- D. score[‘0’] = 95
- 标准答案:B
- 试题难度:中
6、已知列表a = [2, 4, 6]
,执行语句 print(2 * a)
,显示的结果是?( )
- A. [[2, 4, 6], [2, 4, 6]]
- B. [2, 4, 6, 2, 4, 6]
- C. [4, 16, 36]
- D. [4, 8, 12]
- 标准答案:B
- 试题难度:中
7、下列程序执行后,打印的结果是?( )
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]
- 标准答案:D
- 试题难度:较难
- 试题解析:a=[3,9,5] b=a b变量指向a列表,因此a和b指向的是同一个列表[3,9,5] b[0]=7对b指向的列表的第0个元素值更改成7,b指向的列表值为[7,9,5] 由于a和b指向同一个列表,因此a和b列表相同,都是[7,9,5]
8、
toy = ['魔方', '拼图']
toy.append('积木')
print(toy)
以上代码的运行结果是?( )
- A. [‘魔方’, ‘拼图’, [‘积木’]]
- B. [‘魔方’, ‘拼图’, ‘积木’]
- C. [‘积木’, ‘魔方’, ‘拼图’]
- D. ‘魔方’, ‘拼图’, ‘积木’
- 标准答案:B
- 试题难度:容易
- 试题解析:本题考查列表append命令的用法,在append括号中填入一个元素,执行append命令后,会在列表的末尾添加一个元素。
9、
a = 1
for i in range(4):
if i == 3:
break
a += 1
else:
a += 2
print(a)
以上代码的运行结果是?( )
- A. 4
- B. 5
- C. 6
- D. 7
- 标准答案:D
- 试题难度:中
- 试题解析:i的值为0,1,2,3。当取值为3时,a的值不变,其他取值时,a自增2,所以a的值为1+2+2+2=7。
10、想要删除gift字典中的键值对 ‘糖果’ : 10, 可以使用的代码是?( )
- A.
gift.pop('糖果': 10)
- B.
gift.pop('糖果')
- C.
gift.remove('糖果': 10)
- D.
gift.remove('糖果')
- 标准答案:B
- 试题难度:中
- 试题解析:字典中,使用pop删除字典的键值对,参数是键。
11、在空格处填入以下哪个语句,不能得到从大到小的排序结果是?( )
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]
- 标准答案:A
- 试题难度:中
- 试题解析:本题主要考查列表的排序操作,sort()和sorted()函数都可以实现排序,但是两个函数只能实现从小到大的排序操作,所以这里需要将序列反向排列,A选项只做了排序,故选择A.
12、下列关于列表变量ls操作的描述中,错误的是?( )
- A.
min(ls)
:找出ls中最小元素 - B.
ls.remove(x)
:删除ls中所有x元素 - C.
ls.index(x)
:返回元素x在列表中的下标 - D.
ls.copy()
:生成一个新列表,复制ls的所有元素
- 标准答案:B
- 试题难度:容易
- 试题解析:本题考查列表中的min、remove、index、copy等操作,选项B中的remove移除的是列表中第一次出现的x元素,所以选择B。
13、下面代码的输出结果是?( )
name = "Python语言程序设计"
for i in range(5):
print(name[i], end='')
- A. Python
- B. Pytho
- C. ython
- D. Python语言程序
- 标准答案:B
- 试题难度:较难
- 试题解析:考察对range函数的认识。
14、下列程序的运行结果是?( )
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
- 标准答案:D
- 试题难度:困难
- 试题解析:考察字符串replace()方法的使用。
15、下列程序的运行结果是?( )
tem = (4, 7, 4, 6, 9)
tem = tem + (4,)
print(tem.count(4))
- A. 2
- B. 0
- C. 程序报错
- D. 3
- 标准答案:D
- 试题难度:困难
- 试题解析:考察统计元组相同值的个数。
16、下列说法正确的是?( )
- A. if语句通常用于重复执行某一段程序
- B. while语句通常用于执行条件判断
- C. 在Python中可以使用do…while循环
- D. break语句可以跳出for和while的循环体
- 标准答案:D
- 试题难度:容易
- 试题解析:Python中没有do…while循环
17、已知有字符串str2 = "Good Morning!"
,则执行print(len(str2[1:-2]))
输出的结果是?( )
- A. 8
- B. 9
- C. 10
- D. 11
- 标准答案:C
- 试题难度:较难
- 试题解析:str2[1:-2]截取的结果是ood Mornin,有10个字符(包括空格)
18、运行下列程序段后,输出的结果是?( )
i = 1
while i <= 5:
i = i + 2
print(i)
- A. 3
- B. 7
- C. 5
- D. 6
- 标准答案:B
- 试题难度:容易
19、运行语句print("ab"<"ac")
后,输出的结果是?( )
- A. 0
- B. 1
- C. True
- D. False
- 标准答案:C
- 试题难度:容易
20、若a = [1, 2]
,b = [3, 4]
,则执行a = a + b
语句后,a
的值是?( )
- A. [1, 2]
- B. [4, 6]
- C. [1, 2, 3, 4]
- D. [3, 4]
- 标准答案:C
- 试题难度:容易
21、小明用列表s
存储小组同学的身高,s = [136.0, 135.0, 142.0, 140.0]
,则max(s)
的值是?( )
- A. 136.0
- B. 135.0
- C. 142.0
- D. 140.0
- 标准答案:C
- 试题难度:容易
22、已知list8
列表有8个元素,执行print(list8[1:-2])
输出的结果是一个列表,则输出的列表有几个元素?( )
- A. 4
- B. 5
- C. 6
- D. 7
- 标准答案:B
- 试题难度:困难
- 试题解析:list8[1:-2]表示从第二位开始(包含)截取到倒数第二位(不包含),所以输出的列表共有5个元素
23、下面的d
是一个字典变量,能够输出数字9的语句是?( )
d = {'奥运奖牌': {'金牌': 5, '银牌': 4}, '金牌': 9, '银牌': 4}
- A.
print(d['奥运奖牌']['金牌'])
- B.
print(d['金牌'])
- C.
print(d['奥运奖牌'][-1])
- D.
print(d['金牌'][1])
- 标准答案:B
- 试题难度:中
- 试题解析:本题考查访问字典里的值,同时考查易错点字典的值如果创建同一键被赋值两次,则后一个值会取代前一个值成为键的值。故选择B。
24、设有元组tup = (5, 2, 8, 1, 89, 43, 7, 22)
,执行下列语句,结果是?( )
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)
- 标准答案:C
- 试题难度:中
- 试题解析:元组为不可变序列,所以元组使用元组使用sorted()排序后,会生成一个列表,而不是元组,所以排除选项B,D,此题中并没有反向排序,故选择C。
25、下列代码输出的结果是?( )
tup = ('python', 2022, '神州十三号')
print(type(tup))
- A. <class ‘dict’>
- B. <class ‘set’>
- C. <class ‘list’>
- D. <class ‘tuple’>
- 标准答案:D
- 试题难度:容易
二、判断题(共10题,每题2分,共20分)
26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 |
---|---|---|---|---|---|---|---|---|---|
× | × | √ | √ | × | × | × | √ | √ | √ |
26、字典的元素可以通过键来访问,也可以通过索引(下标)来访问。( )
- 正确();
- 错误();
- 标准答案:×
- 试题难度:中
- 试题解析:字典的元素只能通过键来访问。
27、Python中,可以通过索引来访问列表、字符串等序列,也可以通过索引对列表中的元素和字符串中的字符进行修改。例如:a = 'python'
,a[0] = 'P'
,字符串a
将被修改为“Python”。( )
- 正确();
- 错误();
- 标准答案:×
- 试题难度:中
- 试题解析:字符串是不可变序列,可以用索引获取字符串中某个字符的值,但是字符串中的字符不允许被修改。
28、break用来跳出最内层for或者while循环,脱离该循环后程序继续执行后续代码。( )
- 正确();
- 错误();
- 标准答案:√
- 试题难度:容易
- 试题解析:考察对break语句的认识。
29、单分支结构是用if语句判断满足一个条件,就执行相应的处理代码。( )
- 正确();
- 错误();
- 标准答案:√
- 试题难度:容易
- 试题解析:考察对单分支选择结构的认识。
30、tem1 = (1)
,用type(tem1)
检查其类型应该为tuple。( )
- 正确();
- 错误();
- 标准答案:×
- 试题难度:容易
- 试题解析:当给元组变量赋一个元素时,应该用tem1=(1,)
31、在语句for i in range(5):
中,当进入第5次循环时,i
的值为5。( )
- 正确();
- 错误();
- 标准答案:×
- 试题难度:容易
32、clear()
方法可以移除列表中第一次出现的该元素。( )
- 正确();
- 错误();
- 标准答案:×
- 试题难度:容易
- 试题解析:clear()方法可以清空列表。remove()方法可以移除列表中某个值的第一个匹配项。
33、运行如下代码:
words = "123abc"
slice1 = words[-1::-1]
print(slice1)
结果为:“cba321”。( )
- 正确();
- 错误();
- 标准答案:√
- 试题难度:中
- 试题解析:本题考查字符串切片。
34、元组中的元素值是不允许删除的,但我们可以使用del语句来删除整个元组。( )
- 正确();
- 错误();
- 标准答案:√
- 试题难度:中
- 试题解析:本题考查元组为不可变序列,不能删除元素。
35、else保留字除了可以和if语句一起搭配使用构成if…else…,也可以和while或for循环搭配使用,构成while…else…和for…else…结构。( )
- 正确();
- 错误();
- 标准答案:√
- 试题难度:较难
- 试题解析:如题,while…else和for…else…是循环语句的拓展用法
三、编程题(共2题,共30分)
36
编写一个重复执行的程序,要求用户输入一个字符串。如果输入的字符串的长度是奇数,就输出字符串最中间的字符。如果字符串的长度是偶数,就输出字符串的最后一个字符。然后重复以上操作。
参考程序:
注意:仅供参考,考生可以自行设计,结果符合题意即可。
while True:
s = input('请输入一个字符串:')
length = len(s)
if length % 2 !=0:
print(s[length//2])
else:
print(s[-1])
试题难度:较难
评分标准:
(1)能正确地要求用户输入字符串;(2分)
(2)使用len()方法计算字符串的长度;(3分)
(3)使用至少一个if判断;(2分)
(4)能正确判断用户输入的字符串的长度是奇数还是偶数;(4分)
(5)当用户输入的字符串长度为奇数时,能正确地截取字符串最中间的字符并输出;(4分)
(6)当用户输入的字符串长度为偶数时,能正确地截取字符串的最后一个字符并输出;(3分)
(7)程序可循环运行。(2分)
37
从键盘输入任意字符串,按照下面要求分离字符串中的字符:
1、分别取出该字符串的第偶数位的元素(提醒注意:是按照从左往右数的方式确定字符串的位置);
2、并依次存储到一个列表中;
3、输出这个列表。
参考程序:
注意:仅供参考,考生可以自行设计,结果符合题意即可。
利用while循环:
s = input('请输入字符串:')
lst = []
i = 1
while i<len(s):
lst.append(s[i])
i += 2
print(lst)
利用for循环:
s = input('请输入字符串:')
lst = []
for i in range(1,len(s),2):
lst.append(s[i])
print(lst)
试题难度:中
评分标准:
(1)定义一个变量接受从键盘输入的字符串;(2分)
(2)for 循环格式正确或者采用其他方法将偶数(或者所有)元素逐一取出;(3分)
(3)能够将取出的偶数位元素追加到列表中;(3分)
(4)输入列表正确。(2分)