中国电子学会2022年12月份青少年软件编程Python等级考试试卷五级真题(含答案)
2022-12 Python五级真题
分数:100
题数:38
测试时长:60min
一、单选题(共25题,共50分)
1.下面哪个语句正确定义了元组类型数据tuple1?(D)(2分)
A.tuple1=["张三","李四","王五"]
B.tuple1=("张三";"李四";"王五")
C.tuple1=(张三,李四,王五)
D.tuple1=("张三",)
答案解析:元组定义符号为"()",多个元素之间用英文","分割,当只有一个元素时,要加","。
2.已知元组tuple1=("张三","李四","王五","赵六"),能输出('李四', '赵六')的是?(B)(2分)
A.print(tuple1(1:3))
B.print(tuple1[1::2])
C.print(tuple1[1,3])
D.print(tuple1[2:4])
答案解析:根据题意可知,输出间隔为2,所以选择B。
3.以下哪个选项不能生成列表['data1', 'data3', 'data5', 'data7', 'data9']?(D)(2分)
A.
list1 = []
for i in range(1,10,2):list1.append("data{}".format(i))
print(list1)
B.
list2 = [ "data{}".format(i)for i in range(1,10,2)]
print(list2)
C.
list3= []
for i in range(10):if i %2 == 1:list3.append("data{}".format(i))
print(list3)
D.
list4 = [ "data{}".format(i) for i in range(0,10) if i % 2 == 0]
print(list4)
答案解析:list4 = [ "data{}".format(i) for i in range(0,10) if i % 2 == 1]或者list4 = [ "data{}".format(i) for i in range(1,10) if i % 2 == 1]
4.关于各类推导式的运用的表述中,错误的是?(B)(2分)
A.yield作为Python的关键字之一,在生成器函数中用来返回值。
B.使用生成器对象的元素时,不可以将其根据需要转化为列表或者元组。
C.与列表推导式不同的是,生成器推导式的结果是一个生成器对象,而不是列表,也不是元组。
D.从形式上看,生成器推导式与列表推导式非常接近,只是生成器推导式使用圆括号而不是列表推导式所使用的方括号。
答案解析:使用生成器对象的元素时,可以根据需要将其根据需要转化为列表或者元组。
5.Python中yield是一个类似return 的关键字,迭代一次遇到yield时就返回yield后面(右边)的值。下一次迭代时,从上一次迭代遇到的yield后面的代码(下一行)开始执行。下列程序的输出结果是?(A)(2分)
def fun():a,b = 1,1while True:yield aa,b = b,a+b
c = fun()
for i in range(6):print(c.next(),end = ' ')
A.1 1 2 3 5 8
B.1 1 2 2 3 3
C.8 5 3 2 1 1
D.1 2 3 4 5 6
答案解析:运用序列解包,该程序的功能是输出斐波那契数列前6项。
6.下列列表的定义,正确的是哪一项?(C)(2分)
A.list1 = ['red'; 'blue'; 'yellow']
B.list2 = [red, blue, yellow]
C.list3 = ['red', 'blue', 'yellow']
D.list4 = ['red'、 'blue'、'yellow']
7.现有列表 fruits = ['apple', 'orange', 'banana', 'peach'] ,当前需要删去列表元素'orange',正确的操作是?(B)(2分)
A.del fruits['orange']
B.del fruits[1]
C.del fruits[2]
D.del fruits[orange]
8.水果店管理员现有列表 fruits = ['apple', 'orange', 'banana', 'peach'] ,当前接收到葡萄('grape'),需要在列表末尾添加该元素,正确的是哪一项?(B)(2分)
A.fruits.insert('grape')
B.fruits.append('grape')
C.fruits.index('grape')
D.fruits.count('grape')
9.现有校园气象站最近一周(周一至周日)信息采集数据列表:sunlight = [425, 293, 381, 197, 408, 355, 362]当前需要输出周一至周六的数据信息,正确的操作是?(D)
A.print(sunlight[1:n])
B.print(sunlight[1:n-1])
C.print(sunlight[::-1])
D.print(sunlight[:-1])
10.现有集合 stationery = set(("pen", "pencil", "eraser", "ruler")),需要集合中添加元素"ink",正确的是哪一项?(D)(2分)
A.stationery.set("ink")
B.stationery.insert("ink")
C.stationery.pop("ink")
D.stationery.add("ink")
11.通过下列哪个方法,可以实现两个集合交集的操作?(B)(2分)
A.copy()
B.intersection()
C.union()
D.update()
12.运行下列程序,输出结果正确的一项是?(D)(2分)
ds = {'aa':2,'bb':4,'cc':9,'dd':6}
print(ds.popitem(), len(ds))
A.('aa', 2) 4
B.('dd', 6) 4
C.('bb', 2) 3
D.('dd', 6) 3
答案解析:Python 字典 popitem() 方法表示,从字典中删除最后一个项目。
13.运行下列程序,输出结果正确的一项是?(C)(2分)
ds = {'语文':99,'数学':98,'历史':94,'物理':97}
print(ds.pop(max(ds.keys()), 0))
A.数学
B.94
C.99
D.语文
14.有如下Python程序段:
n=int(input("请输入一个整数:"))
s=0
for i in range(1,n):if n%i==0:s=s+i
print(s)
若输入的数为10,则输出的结果为?(A)(2分)
A.8
B.11
C.18
D.55
答案解析:本题变量s的值为整数n除n外的因子之和。
15.有如下Python程序段:
for i in range(1,11):for j in range(1,11,2):if i+j!=10:breakprint(i,j)
执行程序后,输出的结果为?(D)(2分)
A.3 7
B.5 5
C.7 3
D.9 1
答案解析:本题程序在用双重循环遍历i、j的过程中,判断如果i+j不等于10,则结束内循环,只有当i=9、j=1时输出。
16.有如下Python程序段:
s=['3','5','11','28']
max=s[0]
for i in range(1,len(s)):if s[i]>max:max=s[i]
print(max)
执行程序后,输出的结果为?(B)(2分)
A.3
B.5
C.11
D.28
答案解析:本题程序功能比较列表中字符串的大小,输出最大值。
17.有如下Python程序段:
s=0
for i in range(1,11):if i%3==2:continues+=i
执行程序后,输出s的值为?(C)(2分)
A.15
B.26
C.40
D.55
答案解析:本题变量s的值为序列1到10中对3取余不等于2的数之和。
18.Python表达式"Hello"+"Python"的值为?(B)(2分)
A."Hello"+"Python"
B."HelloPython"
C.Hello+Python
D."Hello Python"
19.有字符串s="Hello Python",则s[-2:2:-2]的值为?(B)(2分)
A.""
B."otPo"
C."otPol"
D."hy l"
20.回文指正读和反读都相同的字符序列,如"abba"、"abccba"、12321、123321是"回文","abcde"和"ababab"则不是"回文"。 在数学中具备这样特征的数就叫做回文数。假设字符变量a中存放的是一个三位数,下列语句不能取出字符变量a中的回文数的是?(D)(2分)
A.a[2]+a[1]+a[0]
B.a[::-1]
C.a[-1]+a[-2]+a[-3]
D.a[-1:0:-1]
答案和更多内容请查看网站:
网站链接 【试卷中心 ---Python ---五级/六级/其他】
青少年软件编程历年真题模拟题实时更新