登录二一教育在线组卷平台 助您教考全无忧
2023年3月电子学会青少年软件编程(Python)等级考试五级试题
一、单选题(共25题,共50分)
1.已知一个列表lst = [2,3,4,5,6],lst.append(20),print(lst)的结果是?( )
A.[10,2,3,4,5,6,20] B.[20,2,10,3,4,5,6]
C.[2,3,4,5,6,20] D.[2,3,4,5,6,10,20]
2.水果店管理员现有列表 fruits = ['apple', 'orange', 'banana', 'peach'] ,当前卖出苹果('apple'),需要删去列表元素'apple',正确的操作是?( )
A.del fruits[0] B.del fruits['apple']
C.del fruits[1] D.del fruits[apple]
3.科技小组4位同学分别在Python中定义了一个列表,正确的是?( )
A.list1 = ['power'; 'sensor'; 'control']
B.list2 = [power, sensor, control]
C.list3 = ['power', 'sensor', 'control']
D.list4 = ['power'、 'sensor'、'control']
4.下列语句正确的输出是?( )
lis= [4 * c for c in "draw"]
print(tuple(lis))
A.('4*d', '4*r', '4*a', '4*w') B.('dddd', 'rrrr', 'aaaa', 'wwww')
C.('draw', 'draw', 'draw', 'draw') D.(4*d, 4*r, 4*a, 4*w)
5.Python中 print('十六进制{0:x}'.format(100)) 正确的输出结果是?( )
A.十六进制0:x64 B.十六进制64
C.十六进制0x100 D.十六进制100
6.下面可以正确输出 号称"世界屋脊"的青藏高原 字符的Python语句是?( )
A.print('号称\"世界屋脊\"的青藏高原')
B.print(号称\"世界屋脊\"的青藏高原)
C.print('号称'\"世界屋脊\"的青藏高原)
D.print("号称\"世界屋脊\"的青藏高原)
7.Python使用range可以创建数值列表。下面可以正确输出不超过1000的10的倍数正整数的语句是?( )
A.print(list(range(1, 1000, 10)))
B.print(list(range(0, 1000, 10)))
C.print(list(range(10, 1001, 10)))
D.print(list(range(10, 1000, 10)))
8.学生机器人比赛的时候经常会用到倒计时程序。下面可以正确倒序输出5以内正整数的语句是?( )
A.print(list(range(5, -1, 1))) B.print(list(range(-1, 5, 1)))
C.print(list(range(5, 0, -1))) D.print(list(range(5, 1, -1)))
9.有一个字典内容如下,它的元素数量有几个?( )
info = {'Id': 12, 'Num': 4, 'height': 9 }
A.12 B.3 C.4 D.9
10.现有集合 items = set(("height", "width", "color", "align")) ,需要在集合中添加元素"text",正确的是?( )
A.items.add("text") B.items.insert("text")
C.items.pop("text") D.items.set("text")
11.计算三位完全平方数(100-999范围内),正确的生成器推导式是?( )
A.square = (x**2 for x in range(10,32))
B.square = (x**2 for x in range(32))
C.square = (x**2 for x in range(10,31))
D.square = [x**2 for x in range(31)]
12.下列Python序列解包,正确的输出是?( )
fruit=['apple','peach','orange']
weight=[65,77,68]
for i, j in zip(fruit,weight):
print(i,j,end=' ')
A.'apple','peach','orange',65,77,68
B.apple peach orange 65 77 68
C.apple 65 peach 77 orange 68
D.apple 65 , peach 77 , orange 68
13.下列哪个选项是Python math库的数字常数?( )
A.math.log B.math.inf C.math.rnd D.math.exp
14.Python中词云主要有WordCloud库,在创建好词云对象后,可以使用什么方法生成词云,并使用to_file方法将词云图像保存在文件中?( )
A.WCloud B.generate C.random D.jieba
15.有列表li= [‘a’,’b’,’c’,’d’],执行li=li + [‘d’,’e’,’f’] 后,print(li)的结果是?( )
A.[‘a’,’b’,’c’,’d’], [‘d’,’e’,’f’]
B.[‘a’,’b’,’c’,’d’,’e’,’f’]
C.(‘a’,’b’,’c’,’d’,‘d’,’e’,’f’)
D.[‘a’,’b’,’c’,’d’,‘d’,’e’,’f’]
16.已知有元组tup1=('a','b'),tup2=(1,2,3),tup3=tup1+tup2,执行print(len(tup3))后结果是?( )
A.5 B.3 C.2 D.0
17.现在有str1="day day up up .",请问str1[5]的值是?( )
A.d B.a C.day d D.p
18.下面哪个选项不可以输出语句"我要考python,今年考5级。"?( )
A.print("我要考{},今年考{}级。".format("python",5))
B.print("我要考{str},今年考{grade}级。".format(grade=5,str="python"))
C.print("我要考%s,今年考%s级。"%(5,"python"))
D.print("我要考%s,今年考%d级。"%("python",5))
19.下面程序要输出1~10,则在①处应填入?( )
x = list(range( ① ))
t = 1**2
for i in x:
print(i+t)
A.5 B.0,10,2 C.10 D.0:10:2
20.>>> range(9,2,-2)[0]执行后的结果是?( )
A.0 B.-2 C.9 D.2
21.字典中多个元素之间使用_____分隔开,每个元素的“键”与“值”之间使用_____分隔开。
下列选项中正确的填空选项是?( )
A.逗号 冒号 B.逗号 分号 C.冒号 句号 D.分号 圆点号
22.下列哪一个选项可以输出内容:{'World', 'e', 'H', 'l', 'o'}?( )
A.s=set("Hello")
s.append("World")
print(s)
B.s=set("Hello")
s.add("World")
print(s)
C.s=set("Hello")
s.update("World")
print(s)
D.s=set("Hello")
s.insert("World")
print(s)
23.根据下列代码及运行结果判断字典推导公式实现的功能?( )
a ={'x ': 6,'y ': 9}
a_change= {v: k for k, v in a.items( )}
print(a_change)
A.创建字典并输出 B.交换字典的key和value
C.输出字典key和value D.遍历字典
24.下列代码运行后的正确选项是?( )
import time
a=time.gmtime()
print(time.strftime('%Y-%m-%d %a %h:%M:%S %p',a))
A.2023-02-01 Wed Feb:08:04 PM
B.Wed Feb: 2023-02-01 08:04 PM
C.Wed Feb:08:04 PM 2023-02-01
D.2023-02-01 Wed Feb:08:04
25.Python的random库中,random.choice()命令的功能是?( )
A.返回时间值 B.返回随机产生的一个字符串
C.获取随机整数 D.随机获取一个元素并返回
二、判断题(共10题,共20分)
26.在Python中设定字符串str="Happy new year",则str.rfind('y')返回值为4。( )
27.乐器社团活动,小明用Python进行信息汇总,为了便于操作,他使用了各个元素之间没有先后顺序的集合类型。( )
28.已知元组tup1='a','b','cd',执行print(tup1.count('cd'))后的结果是3。( )
29.在python中使用双重转义(用两个斜杠)输出文件路径,如:"d:\test\text\file1.txt",在字符串中这样表示:l="d:\\test\\text\\file1.txt",print(l)。( )
30.执行下列两段代码的结果是一致的。( )
代码1:
for i in range(9,2):
print("i=",i)
代码2:
for j in range(2,9,-2):
print("j=",j)
31.字典对象的items()方法是返回字典中的“键-值对”对象。( )
32.集合类型是一个包含0个或多个数据项的无序的、不重复的数据组合。其中,元素类型只能是固定数据类型,如整数、浮点数、字符串、元组等。( )
33.使用生成器对象的元素时,不可以将其根据需要转化为列表或者元组。( )
34.wordcloud库生成词云有文本生成和频率生成两种方法。( )
35.在Python的列表数据结构中,通过insert ()方法可以在指定位置插入元素。( )
三、编程题(共3题,共30分)
36.体育社团活动,老师首先让社团小组成员按从低到高顺序排成一队站好,小明站在队中,发现和他同样身高的有3人,他想知道,当前社团小组的队列中,具有相同身高的最多人数。给出社团小组的每个成员身高信息,请你帮忙编写程序输出相同身高的最多人数。
输入格式:
输入共1行,若干个有序数值(从小到大),互相之间以空格隔开。
输出格式:
输出共1行,1个整数,表示相同身高的最多人数。
输入样例:
120 123 123 125 125 125 126 126 126 126 127 127 129 130
输出样例:
4
a=[int(i) for i in input(). ]
n=len(a)
k,maxn=1,1
for i in range(1,n):
if a[i] == :
k+=1
else:
maxn=max( )
print(maxn)
37.文学社团组织一次英语实践活动,每个参与活动的同学都分发到一个英文字符串,所有字符为小写字母,活动任务是找出字符串中的最长回文子串。
如果有多个相同长度的回文子串,输出其中任意一个即可。
例如:
“aykkyu”中最长回文子串是“ykky”。
“helloacmcbjbky”中最长回文子串有2个“cmc”“bjb”。
输入格式:
共1行,1个字符串,长度不超过50。
输出格式:
共1行,1个字符串,最长回文子串。
输入样例:
aykkyu
输出样例:
ykky
s=input()
n=
flag=1
for j in range(n,0, ):
for i in range(0,n-j+1):
x=s[i:i+j]
y=
if(x== ):
print(x)
flag=0
break
if(flag==0):
break
break
38.假设字典dic_city存放每个人想去旅游的城市,小明想去厦门、成都、大理。小李想去大理、广州。小张想去三亚、大理、青岛、上海。
⑴统计每个人想去旅游的城市数目。
⑵统计想去大理的人数以及名单。
根据上述算法思想,补全下列代码。
dic_city={"小明":["厦门","成都","大理"],"小李":["大理","广州"],"小张":["三亚","大理","青岛","上海"]}
for k,v in :
print("{}想去{}个城市旅游". )
name=[]
for k,v in dic_city.items():
if "大理" in :
name. append(k)
print("想去大理旅游的有{}人,他们是{}".format(len(name) ,"、". ))
答案解析部分
1.【答案】C
【知识点】常见的数据结构;Python常用内置函数
【解析】【解答】lst.append(20)是将数字 20 添加到列表 lst 的末尾。因此,最终的结果是 [2, 3, 4, 5, 6, 20]。故答案选:
【分析】本题考查了对列表的操作和 append() 方法。列表(List)是Python中常用的数据结构,用于存储多个元素。列表是可变(Mutable)的,可以通过添加、删除和修改元素来改变列表的内容。
append() 是列表对象的方法,用于在列表的末尾添加一个元素。
2.【答案】A
【知识点】常见的数据结构;Python常用内置函数
【解析】【解答】要删除列表中的元素,可以使用 del 语句。语法是 del 列表名[索引],其中索引是要删除的元素在列表中的位置。给定的列表 fruits = ['apple', 'orange', 'banana', 'peach'],要删除苹果('apple'),它在列表中的索引位置是 0。因此,正确的操作是 del fruits[0]。故答案选:A。
【分析】本题考查了对列表元素删除的操作。列表是有序的可变序列,元素可以根据索引进行访问和操作。列表的索引从 0 开始,所以第一个元素的索引是 0,第二个元素的索引是 1,以此类推。使用 del 语句可以删除列表中的元素,也可以删除整个列表。除了 del 语句,还可以使用列表的方法 remove() 来删除指定的元素,该方法会根据元素的值进行删除而不需要指定索引位置。例如,可以使用 fruits.remove('apple') 删除列表中的苹果。
3.【答案】C
【知识点】常见的数据结构
【解析】【解答】在Python中,要定义一个列表,需要使用方括号 [],并用逗号 , 将元素分隔开。
给定的选项如下:
A:list1 = ['power'; 'sensor'; 'control'] 使用了分号 ; 来分隔元素,而在Python中应该使用逗号 ,。
B:list2 = [power, sensor, control] 没有将元素用引号括起来,导致被解释为变量名,应该使用引号括起来表示字符串。
C:list3 = ['power', 'sensor', 'control'] 使用了正确的语法,将元素用引号括起来,并使用逗号进行分隔。
D:list4 = ['power'、 'sensor'、'control'] 使用了中文全角逗号 、,而在Python中应该使用英文半角逗号 ,。
因此,选项 C:list3 = ['power', 'sensor', 'control'] 是正确的。故答案选:C。
【分析】本题考查了对列表定义的语法。列表是Python中常用的数据结构,用于存储多个元素。列表中的元素可以是任意类型的对象,包括整数、浮点数、字符串等。定义列表时,需要使用方括号 [] 将元素括起来,并使用逗号 , 将各个元素分隔开。元素可以是字符串,在定义字符串时需要使用引号(单引号或双引号)将字符串括起来。分隔元素的符号应该使用英文半角逗号 ,,而不是中文全角逗号 、 或其他符号。
4.【答案】A
【知识点】常见的数据结构
【解析】【解答】lis 是通过对字符串 "draw" 的每个字符进行操作生成的列表。对于每个字符 c,表达式 4 * c 将字符重复四次。因此,列表 lis 的元素为:['4d', '4r', '4a', '4w']。将 lis 转换为元组(tuple)后,输出结果为 ('4*d', '4*r', '4*a', '4*w')。故答案选:A。
【分析】本题考查了对列表推导式和字符串操作。列表推导式是一种用于创建新列表的简洁方式。它可以根据一个表达式和一个迭代器生成列表,并可以包含条件语句。在列表推导式中,可以对迭代器中的每个元素进行操作,并根据定义的规则生成新的元素。字符串可以被视为一个可迭代对象,可以按照字符进行遍历。在给定的代码中,字符串 "draw" 被遍历,每个字符被乘以 4,生成了新的字符串元素。最终,列表 lis 包含了四个字符串元素:['4d', '4r', '4a', '4w']。tuple() 函数用于将一个可迭代对象转换为元组。
5.【答案】B
【知识点】Python常用内置函数
【解析】【解答】{0:x} 是格式化字符串中的占位符,用于将第一个参数(100)格式化为十六进制形式。0 表示第一个参数。:x 是格式化说明符,表示将参数格式化为十六进制形式。因此,{0:x} 将 100 格式化为十六进制,结果是 '64'。最终的输出结果是 十六进制64。故答案选:B。
【分析】本题考查了对格式化字符串和格式化说明符。在Python中,可以使用字符串的 format() 方法来进行格式化输出。格式化字符串使用大括号 {} 作为占位符,可以通过指定索引或关键字来引用参数。格式化字符串中的冒号 : 后面可以加上格式化说明符,用于指定参数的显示格式。x 是格式化说明符之一,用于将整数参数格式化为十六进制形式。
6.【答案】D
【知识点】Python常用内置函数
【解析】【解答】A:print('号称\"世界屋脊\"的青藏高原') 在字符串中使用转义字符 \ 来表示引号的转义,可以正确输出。
B:print(号称\"世界屋脊\"的青藏高原) 缺少引号,应该使用引号将字符串括起来。
C:print('号称'\"世界屋脊\"的青藏高原) 引号的位置不正确,应该将引号放在整个字符串的外面。
D:print("号称\"世界屋脊\"的青藏高原) 使用双引号括起整个字符串,可以正确输出。
因此,选项 D:print("号称\"世界屋脊\"的青藏高原") 是正确的Python语句。故答案选:D。
【分析】本题考查了对字符串中引号的转义。在字符串中,如果要包含与字符串本身相同类型的引号,可以使用转义字符 \ 来表示引号的转义。在给定的选项中,字符串中的双引号 "号称\"世界屋脊\"的青藏高原" 被转义为 \",表示字符串中的双引号是作为引号的一部分,而不是表示字符串的结束。使用单引号括起字符串 '号称\"世界屋脊\"的青藏高原' 也可以达到相同的效果,不需要进行转义。在Python中,字符串可以使用单引号或双引号括起来,两者的效果是相同的。使用转义字符 \ 可以表示特殊字符,如引号、换行符等。
7.【答案】B
【知识点】Python常用内置函数
【解析】【解答】A:print(list(range(1, 1000, 10))) 从1开始,每次增加10,直到1000。这将输出从1到991的10的倍数,不符合题目要求。
B:print(list(range(0, 1000, 10))) 从0开始,每次增加10,直到1000。这将输出不超过1000的10的倍数整数,但该项中包含0,不符合题目要求。
C:print(list(range(10, 1001, 10))) 从10开始,每次增加10,直到1001。这将输出从10到1000的10的倍数,符合题目要求。
D:print(list(range(10, 1000, 10))) 从10开始,每次增加10,直到1000。这将输出从10到990的10的倍数,不符合题目要求。
因此,选项 C:print(list(range(10, 1001, 10))) 是可以正确输出不超过1000的10的倍数正整数的语句。
故答案选:C。
【分析】本题考查 range() 函数创建数值列表。在Python中,可以使用 range() 函数创建一个指定范围内的数值列表。range() 函数的三个参数分别是起始值、结束值和步长。range(start, stop, step) 会生成一个从起始值到结束值之间,以指定步长递增或递减的整数序列。范围是左闭右开的,即起始值包含在序列中,但结束值不包含在序列中。
8.【答案】C
【知识点】常见的数据结构
【解析】【解答】A:print(list(range(5, -1, 1))) 从5开始,每次增加1,直到-1。这将生成一个空的列表,不符合题目要求。
B:print(list(range(-1, 5, 1))) 从-1开始,每次增加1,直到5。这将输出从-1到4的正整数,不符合题目要求。
C:print(list(range(5, 0, -1))) 从5开始,每次减少1,直到1。这将倒序输出从5到1的正整数,符合题目要求。
D:print(list(range(5, 1, -1))) 从5开始,每次减少1,直到2。这将输出从5到2的正整数,不符合题目要求。
因此,选项 C:print(list(range(5, 0, -1))) 是可以正确倒序输出5以内正整数的语句。
故答案选:C。
【分析】本题考查 range() 函数创建倒序数值列表。在Python中,可以使用 range() 函数创建一个指定范围内的数值列表。range() 函数的三个参数分别是起始值、结束值和步长。range(start, stop, step) 会生成一个从起始值到结束值之间,以指定步长递增或递减的整数序列。范围是左闭右开的,即起始值包含在序列中,但结束值不包含在序列中。
9.【答案】B
【知识点】常见的数据结构
【解析】【解答】给定的字典info包含以下键值对:
{'Id': 12, 'Num': 4, 'height': 9}
元素数量指的是字典中键值对的个数。在这个字典中,有3个键值对。
故答案选:B。
【分析】本题考查字典数据类型。字典是Python中的一种数据类型,用于存储键值对。字典由花括号 {} 包围,键值对之间用冒号 : 分隔,每个键值对之间用逗号 , 分隔。字典中的键是唯一的,且通常为不可变的数据类型(如字符串、整数、元组),值可以是任意数据类型。字典中的元素数量指的是键值对的个数。可以使用 len() 函数来获取字典的元素数量。
10.【答案】A
【知识点】常见的数据结构;Python常用内置函数
【解析】【解答】选项 A 使用 add 方法将元素 "text" 添加到集合中。这是正确的方式。
选项 B 中的 insert 方法是用于列表的,在集合中无效。
选项 C 中的 pop 方法用于移除集合中的元素,但是它需要指定一个已存在的元素作为参数,而不是添加新元素。
选项 D 中没有 set 方法可以用于集合。
故答案选:A。
【分析】本题考查了对集合的基本操作。集合是 Python 中的一种内置数据类型,用于存储多个唯一的元素。集合的特点包括无序性(元素没有固定顺序)和唯一性(不允许重复元素)。可以使用 add 方法向集合添加单个元素,使用 update 方法向集合添加多个元素。可以使用 remove 方法或 discard 方法从集合中移除元素。使用 in 关键字可以检查元素是否存在于集合中。集合还支持交集、并集、差集等操作,可以使用相应的方法或运算符进行操作。
11.【答案】A
【知识点】运算符与表达式
【解析】【解答】选项 A (x**2 for x in range(10, 32)) 会生成从 10 到 31 的平方数,满足三位数的完全平方数的要求。
选项 B (x**2 for x in range(32)) 会生成从 0 到 31 的平方数,不满足三位数的完全平方数的要求。
选项 C (x**2 for x in range(10, 31)) 会生成从 10 到 30 的平方数,不满足所有三位数的完全平方数的要求。
选项 D [x**2 for x in range(31)] 会生成从 0 到 30 的平方数,不满足三位数的完全平方数的要求。
故答案选:A。
【分析】本题考查了生成器推导式的使用。生成器推导式(Generator comprehensions)是一种快速创建生成器对象的方式,类似于列表推导式(List comprehensions)。生成器推导式使用圆括号括起来,并在内部使用类似于列表推导式的语法。生成器对象是一种可迭代对象,每次迭代时生成一个值,而不是一次性生成所有值。生成器推导式在处理大量数据时具有高效性能,因为它们按需生成值,而不是一次性生成所有值。
12.【答案】C
【知识点】分支结构程序设计与分析;常见的数据结构;Python常用内置函数
【解析】【解答】代码中使用了 zip 函数将两个列表 fruit 和 weight 按索引位置进行配对。在 for 循环中,使用序列解包将配对的元素分别赋值给变量 i 和 j。print(i, j, end=' ') 将每个元素以空格分隔打印出来。输出结果为 apple 65 peach 77 orange 68,每个水果与其对应的重量以及空格按顺序打印出来。故答案选:C。
【分析】本题考查了对序列解包和 zip 函数。序列解包(Sequence unpacking)是一种将序列(如列表、元组)中的元素分配给多个变量的操作。在序列解包中,变量的数量应与序列中的元素数量相等,否则会引发 ValueError 异常。zip 函数接受多个序列作为参数,返回一个将相同位置的元素配对的迭代器。当传递给 zip 函数的序列长度不同时,返回的迭代器长度将与最短的序列相同。可以在 for 循环中使用序列解包和 zip 函数一次迭代多个序列,并对每个元素进行操作。
13.【答案】B
【知识点】常量、变量与赋值语句
【解析】【解答】选项 A math.log 是 math 模块中的一个函数,用于计算对数。
选项 B math.inf 是 math 模块中的一个常数,表示正无穷大。
选项 C math.rnd 不是 math 模块中的有效函数或常数。
选项 D math.exp 是 math 模块中的一个函数,用于计算指数。
故答案选:B。
【分析】本题考查了对math 模块中数字常数。math 是 Python 的数学函数库,提供了执行数学运算的函数和常数。
14.【答案】B
【知识点】常用基本函数
【解析】【解答】在使用 WordCloud 库创建词云对象后,可以使用 generate 方法生成词云。generate 方法会根据输入的文本数据生成词云图像,根据词频等信息确定词语的大小、颜色等展示效果。生成的词云图像可以通过 to_file 方法保存在文件中。选项 A:WCloud 并不是 WordCloud 库中的方法或属性。选项 C:random 是用于生成随机数的库,并不与词云生成直接相关。选项 D:jieba 是用于中文分词的库,与词云生成过程中的文本预处理相关,但不直接用于生成词云图像。故答案选:B。
【分析】本题考查 WordCloud 库中生成词云和保存词云图像的方法。WordCloud 是一个用于生成词云的 Python 库,可以根据文本数据创建词云图像。使用 WordCloud 库可以根据词频等信息将词语以不同的大小、颜色等形式展示在图像上,形成具有艺术效果的词云图像。在创建词云对象后,可以使用 generate 方法根据输入的文本数据生成词云图像。生成的词云图像可以通过 to_file 方法保存为图像文件,常见的文件格式包括 PNG、JPEG 等。在生成词云之前,通常需要对文本数据进行预处理,例如分词、去除停用词等,以便生成更加准确的词云图像。WordCloud 库还提供了其他的配置选项,例如设置背景颜色、字体样式、词语形状等,可以根据需求进行调整。
15.【答案】D
【知识点】常见的数据结构
【解析】【解答】初始列表 li 包含元素 'a', 'b', 'c', 'd'。执行 li = li + ['d', 'e', 'f'] 将列表 ['d', 'e', 'f'] 添加到 li 中。运算符 + 在列表中表示连接操作,将两个列表连接成一个新的列表。因此,li 的结果是 ['a', 'b', 'c', 'd', 'd', 'e', 'f']。故答案选:D。
【分析】本题考查列表连接操作。列表是 Python 中常用的数据类型之一,可以存储多个元素,并按顺序访问。使用 + 运算符可以将两个列表连接成一个新的列表。在执行连接操作时,会将第一个列表的元素和第二个列表的元素按顺序合并到新列表中。连接操作不会改变原始列表,而是生成一个新的列表。
16.【答案】A
【知识点】常见的数据结构;Python常用内置函数
【解析】【解答】给定元组 tup1 为 ('a', 'b'),元组 tup2 为 (1, 2, 3)。执行 tup3 = tup1 + tup2 将 tup1 和 tup2 进行连接操作,生成新的元组 tup3。tup3 包含了 tup1 和 tup2 中的所有元素,即 ('a', 'b', 1, 2, 3)。使用 len(tup3) 计算元组 tup3 的长度,即元素的个数。因此,打印结果为 5,表示元组 tup3 包含了 5 个元素。故答案选:A。
【分析】本题考查了对元组的连接操作。元组是 Python 中的一种不可变序列类型,可以存储多个元素,并按顺序访问。使用 + 运算符可以将两个元组连接成一个新的元组。在执行连接操作时,会将第一个元组的元素和第二个元组的元素按顺序合并到新元组中。连接操作不会改变原始元组,而是生成一个新的元组。可以使用 len() 函数计算元组的长度,即元素的个数。
17.【答案】B
【知识点】常见的数据结构
【解析】【解答】给定字符串 str1 为 "day day up up ."。字符串的索引从 0 开始,表示字符串中的位置。str1[5] 表示索引为 5 的字符,即第六个字符。在字符串 "day day up up ." 中,第六个字符是字母 'a'。因此,str1[5] 的值为 'a'。故答案选:B。
【分析】本题考查字符串索引。字符串是 Python 中的一种不可变序列类型,表示一串字符。使用方括号和索引值可以访问字符串中特定位置的字符。字符串的索引从 0 开始,表示字符串中的位置。
18.【答案】D
【知识点】Python常用内置函数
【解析】【解答】选项 A:print("我要考{},今年考{}级。".format("python",5)) 使用了格式化字符串中的 {} 占位符,并通过 format 方法传入相应的值,可以正确输出所需的语句。
选项 B:print("我要考{str},今年考{grade}级。".format(grade=5,str="python")) 使用了命名占位符 {} 并通过 format 方法的关键字参数传入相应的值,可以正确输出所需的语句。
选项 C:print("我要考%s,今年考%s级。"%(5,"python")) 使用了 % 格式化字符串的方式,并通过 % 运算符传入相应的值,可以正确输出所需的语句。
选项 D:print("我要考%s,今年考%d级。"%("python",5)) 使用了 % 格式化字符串的方式,但占位符的类型与提供的值类型不匹配。第一个占位符使用了 %s 表示字符串,而实际提供的是整数值 "python";第二个占位符使用了 %d 表示整数,而实际提供的是字符串值 5。这样的格式不匹配会导致输出错误。
故答案选:D。
【分析】本题考查格式化字符串。格式化字符串是一种在输出文本时将值插入到字符串中的方法。Python 提供了多种格式化字符串的方式,包括使用 {} 占位符和 format 方法,以及使用 % 运算符。{} 占位符可以按顺序接收值,也可以使用关键字参数指定值的顺序。% 运算符可以使用不同的占位符表示不同的值类型,如 %s 表示字符串,%d 表示整数,%f 表示浮点数等。在使用格式化字符串时,占位符的类型和提供的值的类型需要匹配,否则可能导致输出错误。
19.【答案】C
【知识点】循环结构程序设计与分析;常见的数据结构
【解析】【解答】在程序中,x被赋值为range(10),它生成了一个包含从0到9的整数的列表。因此,循环将迭代10次,依次将0到9赋值给变量i。在每次迭代中,打印i加上t的结果,其中t等于1的平方,即1。因此,程序输出的结果是1到10。故答案选:C。
【分析】本题考查range函数。range(start, stop, step)是一个内置函数,用于生成一个整数序列。它接受三个参数:起始值start(默认为0),结束值stop(不包含在序列中),步长step(默认为1)。当只提供一个参数时,该参数被视为结束值,起始值默认为0,步长默认为1。
20.【答案】C
【知识点】Python常用内置函数
【解析】【解答】执行range(9,2,-2)会生成一个逆向的整数序列,从9开始,步长为-2,直到大于2停止。根据range函数的规则,序列中的第一个元素是起始值9。因此,执行range(9,2,-2)[0]的结果是9。故答案选:C。
【分析】本题考查range函数。range函数可以生成一个整数序列,包括起始值和结束值之间的整数。当提供了步长参数时,序列中的元素之间的间隔由步长决定。如果步长是正数,则序列是递增的;如果步长是负数,则序列是递减的。
21.【答案】A
【知识点】常见的数据结构
【解析】【解答】字典中多个元素之间使用逗号进行分隔,每个元素的键与值之间使用冒号进行分隔。故答案选:A。
【分析】本题考查字典中元素分隔符。字典是Python中的一种数据结构,用于存储键-值对。每个键值对都由一个键和与之相关联的值组成。在字典中,多个元素之间使用逗号进行分隔,以表示每个键值对。键和值之间使用冒号进行分隔。逗号用于分隔不同的键值对,冒号用于分隔键和值。
22.【答案】B
【知识点】顺序结构程序设计与分析;Python常用内置函数
【解析】【解答】选项A中,set类型没有append方法,因此会导致错误。
选项B中,使用add方法向集合中添加元素,正确地将"World"添加到集合中,输出{'World', 'e', 'H', 'l', 'o'}。
选项C中,使用update方法向集合中添加元素,但它会将字符串"World"视为可迭代对象,将其拆分为单个字符进行添加,输出结果为{'W', 'r', 'l', 'e', 'o', 'H'}。
选项D中,set类型没有insert方法,因此会导致错误。
故答案选:B。
【分析】本题考查集合类型(set)的操作方法。在Python中,集合(set)是一种无序且不重复的数据集合。它支持添加、删除和查询操作。使用set()函数或使用花括号{}创建一个空集合。要创建一个包含初始元素的集合,可以使用set()函数并将可迭代对象作为参数,或者直接使用花括号包裹元素。使用add()方法可以向集合中添加单个元素。使用update()方法可以向集合中添加多个元素,它接受一个可迭代对象作为参数。
23.【答案】B
【知识点】顺序结构程序设计与分析;常见的数据结构
【解析】【解答】在代码中,使用字典推导公式{v: k for k, v in a.items()}来创建新的字典a_change。a.items()返回原始字典a中的键值对组成的可迭代对象。在推导公式中,使用了k和v分别表示原始字典a中的键和值。推导公式的结果是创建一个新的字典,其中原始字典a中的键变为新字典的值,而原始字典a中的值变为新字典的键。因此,运行结果为{'6': 'x ', '9': 'y '},即键值对被交换了。这意味着字典推导公式实现了将字典的键和值互换的功能。故答案选:B。
【分析】本题考查字典推导公式。字典推导是一种快速创建字典的方法,类似于列表推导和集合推导。字典推导的一般形式是{expression for item in iterable},其中expression定义了新字典中键和值的计算方式。
24.【答案】C
【知识点】Python常用内置函数
【解析】【解答】在给定的代码中,time.strftime('%Y-%m-%d %a %h:%M:%S %p', a)将时间结构a按照指定的格式进行转换,并打印输出结果。%Y表示年份,%m表示月份,%d表示日期,%a表示星期几,%h表示小时(12小时制),%M表示分钟,%S表示秒,%p表示上午/下午。因此,运行结果为Wed Feb:08:04 PM 2023-02-01。故答案选:C。
【分析】本题考查时间格式化。Python的time模块提供了处理时间相关操作的函数。time.gmtime()函数返回当前时间的UTC时间结构,即一个包含年、月、日、时、分、秒等信息的元组。time.strftime(format, time_struct)函数将时间结构按照指定的格式转换为字符串,其中format是格式化字符串,time_struct是时间结构。格式化字符串中的占位符(如%Y、%m等)表示需要插入相应时间信息的位置,通过这些占位符可以控制时间的输出格式。
25.【答案】D
【知识点】Python常用内置函数
【解析】【解答】random.choice()命令的功能是D:随机获取一个元素并返回。故答案选:D。
【分析】本题考查random库中random.choice()函数。random是Python中的一个标准库,用于生成随机数。random库提供了多个随机数生成函数,包括生成随机整数、浮点数、随机选择元素等功能。
random.choice(sequence)函数用于从给定序列中随机选择一个元素并返回。序列可以是列表、元组、字符串等可迭代对象。random.choice()函数的返回值是序列中的一个元素,每个元素被选中的概率是相等的。通过调用random.choice()函数,可以实现从给定序列中随机选择一个元素的操作。
26.【答案】(1)错误
【知识点】Python常用内置函数
【解析】【解答】str.rfind('y')是字符串对象的一个方法,用于返回指定字符(子字符串)在字符串中最后一次出现的索引。在给定的字符串"Happy new year"中,最后一次出现字符'y'的位置是索引11,而不是索引4。str.rfind('y')会从字符串的右侧开始搜索字符'y',找到最后一次出现的位置并返回对应的索引。在本题中,str.rfind('y')返回值为11。故答案为:错误。
【分析】本题考查字符串方法str.rfind()。在Python中,字符串对象有一个名为rfind()的方法,用于查找指定字符(子字符串)在字符串中最后一次出现的位置。rfind()方法返回找到的字符最后一次出现的索引值,如果未找到则返回-1。rfind()方法从字符串的右侧开始搜索指定字符,向左逐个字符地检查,直到找到目标字符或搜索完整个字符串。
27.【答案】(1)正确
【知识点】常见的数据结构
【解析】【解答】集合(Set)是Python中的一种无序、可变的数据类型,用于存储不重复的元素。集合中的元素之间没有确定的顺序,即元素的存储顺序与添加顺序无关。集合类型在处理数据时具有去重的功能,适合用于存储和操作一组不重复的元素。小明在乐器社团活动中使用集合类型进行信息汇总,可以方便地对活动参与者、乐器种类等进行去重和操作。故答案为:正确。
【分析】本题考查集合类型。在Python中,集合(Set)是一种无序、可变的数据类型,用于存储不重复的元素。集合中的元素之间没有确定的顺序,元素的存储顺序与添加顺序无关。集合类型支持添加、删除和查询操作,并且对元素进行自动去重。可以使用集合类型进行集合之间的交集、并集、差集等操作。集合类型在处理需要去重的数据和对集合操作的场景中非常有用,例如在本题中进行信息汇总的场景。
28.【答案】(1)错误
【知识点】常见的数据结构;Python常用内置函数
【解析】【解答】元组类型提供了count()方法,用于统计指定元素在元组中出现的次数。在给定的元组tup1='a','b','cd'中,元素'cd'只出现了一次,因此tup1.count('cd')的结果是1,而不是3。故答案为:错误。
【分析】本题考查元组类型和元组方法count()。在Python中,元组(Tuple)是一种有序、不可变的数据类型,用于存储多个元素的集合。元组使用圆括号 () 或者没有括号进行定义,元素之间使用逗号进行分隔。元组中的元素按照定义的顺序进行存储,且不可修改。
29.【答案】(1)正确
【知识点】运算符与表达式
【解析】【解答】在给定的字符串路径中,要表示 "d:\test\text\file1.txt",可以使用双重转义,即 "d:\test\text\file1.txt"。使用双重转义后,字符串中的每个反斜杠字符都会被正确地解析为一个反斜杠字符。执行 print(l) 会输出 "d:\test\text\file1.txt",其中每个反斜杠字符都会被正确地显示。故答案为:正确。
【分析】本题考查字符串中特殊字符和转义字符。在Python中,反斜杠(\)被用作转义字符,用于表示特殊字符或者在字符串中插入一些特殊的字符。如果要在字符串中表示一个反斜杠字符(\)本身,需要使用双重转义,即两个反斜杠(\)表示一个反斜杠字符。
30.【答案】(1)正确
【知识点】循环结构程序设计与分析;Python常用内置函数
【解析】【解答】代码1中的for循环使用range(9,2)作为迭代范围,这意味着从9开始递增,直到2之前停止。但是由于起始值9已经大于终止值2,所以循环体不会执行。因此,代码1不会输出任何内容。代码2中的for循环使用range(2,9,-2)作为迭代范围,步长为-2。然而,由于起始值2并不小于终止值9,且步长为负数,循环无法正常执行。因此,代码2也不会输出任何内容。故答案为:正确。
【分析】本题考查range函数。range函数用于生成一个指定范围内的整数序列,常用于for循环中的迭代。range函数的常用形式为range(start, stop, step),其中start为起始值(包含),stop为终止值(不包含),step为步长(默认为1)。
31.【答案】(1)正确
【知识点】常见的数据结构;Python常用内置函数
【解析】【解答】字典对象的items()方法返回一个包含字典中所有键值对的可迭代对象,每个键值对以元组的形式表示。故答案为:正确。
【分析】本题考查字典对象的items()方法。字典是Python中的一种数据结构,用于存储键值对。字典中的每个键都是唯一的,它们与相应的值一一对应。字典对象的items()方法可以返回一个可迭代对象,该对象包含字典中的所有键值对。每个键值对以元组的形式表示,元组的第一个元素是键,第二个元素是对应的值。通过items()方法可以方便地遍历字典中的所有键值对,或者进行其他操作,如查找、筛选等。
32.【答案】(1)错误
【知识点】常见的数据结构
【解析】【解答】集合类型是Python中的一种数据类型,它是一个无序的、不重复的数据集合。集合中的元素可以是任意类型的,包括整数、浮点数、字符串、元组等,没有固定的数据类型限制。故答案为:错误。
【分析】本题考查集合类型。集合类型是Python中的一种数据类型,用于存储无序、不重复的数据集合。集合类型的特点是元素之间无序且不重复。集合类型可以通过大括号 {} 或者使用 set() 函数进行创建。集合中的元素可以是任意类型的,包括整数、浮点数、字符串、元组等,没有固定的数据类型限制。集合类型支持集合运算,如并集、交集、差集等操作。
33.【答案】(1)错误
【知识点】常见的数据结构
【解析】【解答】虽然生成器对象可以按需生成数据项,但是它也可以通过转化为列表或元组的方式来获取所有数据项。可以使用 list() 或 tuple() 函数将生成器对象转化为列表或元组,这样就可以一次性获取所有数据项进行使用。故答案为:错误。
【分析】本题考查生成器对象。生成器对象是一种特殊的迭代器,它按需生成数据项,而不是一次性生成所有数据项。生成器对象可以通过函数中使用 yield 关键字来创建。生成器对象的特点是节省内存空间,适用于处理大量数据或者无需一次性生成全部数据的场景。生成器对象可以通过转化为列表或元组的方式获取所有数据项,可以使用 list() 或 tuple() 函数进行转化。
34.【答案】(1)错误
【知识点】常用基本函数
【解析】【解答】在wordcloud库中,生成词云的方法主要有两种:基于文本生成和基于词频生成。故答案为:错误。
【分析】本题考查wordcloud库中生成词云的方法。基于文本生成的方法是将文本作为输入,根据文本中单词的出现情况生成词云。这种方法会根据文本中单词的频率和位置等信息进行绘制,以展示文本的特征和重要内容。基于词频生成的方法是根据给定的词频信息生成词云。用户可以提供单词及其对应的频率信息,词云会根据频率大小来确定单词在词云中的大小和显示效果。
35.【答案】(1)正确
【知识点】常见的数据结构;Python常用内置函数
【解析】【解答】在Python的列表数据结构中,可以使用insert()方法在指定位置插入元素。该方法的语法为:list.insert(index, element)。其中,index表示要插入的位置,element表示要插入的元素。插入后,原位置及其后面的元素都会向后移动。故答案为:正确。
【分析】本题考查列表数据结构中插入元素的操作方法。列表是Python中常用的数据结构,可以存储多个元素,并且可以根据需要进行动态调整。insert()方法是列表对象的一个内置方法,用于在指定位置插入元素。插入元素后,原位置及其后面的元素会向后移动,列表的长度会增加。
36.【答案】split();a[i+1];k=1;max_count, k
【知识点】循环结构程序设计与分析;常见的数据结构;Python常用内置函数
【解析】【解答】(1)split() 函数用于按照指定的分隔符将输入的字符串切分成多个部分,并返回切分后的部分作为列表。在这个问题中,我们需要将输入的一行身高信息按空格进行切分,得到每个成员的身高作为列表元素。故答案为:split()。
(2)这里的条件判断用于判断当前身高a[i]是否与前一个身高a[i-1]相同。如果当前身高与前一个身高相同,则将计数器k加1,表示当前连续相同身高的人数增加了。故答案为:a[i+1]。
(3)如果当前身高与前一个身高不相同,则将计数器k重置为1,表示重新开始统计连续相同身高的人数。故答案为:k=1。
(4)在每次更新计数器k的同时,更新最大连续相同身高人数max_count。使用max()函数比较当前连续相同身高人数k和已经统计的最大连续相同身高人数max_count,取其中较大的值作为新的max_count。故答案为:max_count, k。
【分析】本题考查列表的遍历和条件判断的使用,以及对变量的更新和比较。本题可以通过遍历列表并使用条件判断来解决。在遍历过程中,使用一个变量记录当前连续相同身高的人数,并使用另一个变量记录最大的连续相同身高人数。利用条件判断来判断当前身高是否与前一个身高相同,根据情况更新计数器变量。使用max()函数来比较并更新最大值。
37.【答案】len(s);-1;x[::-1];y
【知识点】循环结构程序设计与分析;常见的数据结构;Python常用内置函数
【解析】【解答】(1)这是为了获取字符串的长度,用于后续循环的范围。我们可以使用 len() 函数获取字符串的长度。故答案为:len(s)。
(2)这是为了控制子串的长度,我们从最长的子串开始查找,循环变量的值从n开始,每次递减1,,到0为止。故答案为:-1。
(3)该处y的值为反转后的子串x,用于与原子串比较是否相等。故答案为:x[::-1]。
(4)该处判断原字符串和反转后的字符串是否相等,从而确定是否是回文子串。故答案为:y。
【分析】本题考查了字符串的基本操作和回文子串的查找。回文子串是指正序和倒序相同的字符串,可以通过遍历所有可能的子串,并判断是否是回文子串来解决问题。在这个问题中,我们通过不断调整子串的长度和起始位置,逐个比较子串和反转后的子串来确定最长回文子串。
38.【答案】dic_city.items();format(k, len(v));dic_city.items();join(name)
【知识点】分支结构程序设计与分析;循环结构程序设计与分析;常见的数据结构;Python常用内置函数
【解析】【解答】(1)使用items()方法遍历字典dic_city的键值对,其中k代表每个人的姓名,v代表他们想去旅游的城市列表。故答案为:dic_city.items()。
(2)通过len(v)可以获取每个人想去旅游的城市数目,然后使用format()函数进行格式化输出。故答案为:format(k, len(v))。
(3)通过遍历字典dic_city的键值对,判断每个人的旅游城市列表v中是否包含"大理"。如果包含,则将该人的姓名k添加到name列表中。故答案为:dic_city.items()。
(4)最后使用len(name)获取想去大理旅游的人数,使用"、".join(name)将姓名列表转换为逗号分隔的字符串。故答案为:join(name)。
【分析】本题考查了字典的遍历和列表的操作。通过遍历字典的键值对可以获取每个人的姓名和对应的旅游城市列表。使用列表的append()方法可以将满足条件的人的姓名添加到列表中,使用len()函数可以获取列表的长度,使用"、".join()方法可以将列表中的元素用逗号连接成字符串。
二一教育在线组卷平台(zujuan.21cnjy.com)自动生成 1 / 1登录二一教育在线组卷平台 助您教考全无忧
2023年3月电子学会青少年软件编程(Python)等级考试五级试题
一、单选题(共25题,共50分)
1.已知一个列表lst = [2,3,4,5,6],lst.append(20),print(lst)的结果是?( )
A.[10,2,3,4,5,6,20] B.[20,2,10,3,4,5,6]
C.[2,3,4,5,6,20] D.[2,3,4,5,6,10,20]
【答案】C
【知识点】常见的数据结构;Python常用内置函数
【解析】【解答】lst.append(20)是将数字 20 添加到列表 lst 的末尾。因此,最终的结果是 [2, 3, 4, 5, 6, 20]。故答案选:
【分析】本题考查了对列表的操作和 append() 方法。列表(List)是Python中常用的数据结构,用于存储多个元素。列表是可变(Mutable)的,可以通过添加、删除和修改元素来改变列表的内容。
append() 是列表对象的方法,用于在列表的末尾添加一个元素。
2.水果店管理员现有列表 fruits = ['apple', 'orange', 'banana', 'peach'] ,当前卖出苹果('apple'),需要删去列表元素'apple',正确的操作是?( )
A.del fruits[0] B.del fruits['apple']
C.del fruits[1] D.del fruits[apple]
【答案】A
【知识点】常见的数据结构;Python常用内置函数
【解析】【解答】要删除列表中的元素,可以使用 del 语句。语法是 del 列表名[索引],其中索引是要删除的元素在列表中的位置。给定的列表 fruits = ['apple', 'orange', 'banana', 'peach'],要删除苹果('apple'),它在列表中的索引位置是 0。因此,正确的操作是 del fruits[0]。故答案选:A。
【分析】本题考查了对列表元素删除的操作。列表是有序的可变序列,元素可以根据索引进行访问和操作。列表的索引从 0 开始,所以第一个元素的索引是 0,第二个元素的索引是 1,以此类推。使用 del 语句可以删除列表中的元素,也可以删除整个列表。除了 del 语句,还可以使用列表的方法 remove() 来删除指定的元素,该方法会根据元素的值进行删除而不需要指定索引位置。例如,可以使用 fruits.remove('apple') 删除列表中的苹果。
3.科技小组4位同学分别在Python中定义了一个列表,正确的是?( )
A.list1 = ['power'; 'sensor'; 'control']
B.list2 = [power, sensor, control]
C.list3 = ['power', 'sensor', 'control']
D.list4 = ['power'、 'sensor'、'control']
【答案】C
【知识点】常见的数据结构
【解析】【解答】在Python中,要定义一个列表,需要使用方括号 [],并用逗号 , 将元素分隔开。
给定的选项如下:
A:list1 = ['power'; 'sensor'; 'control'] 使用了分号 ; 来分隔元素,而在Python中应该使用逗号 ,。
B:list2 = [power, sensor, control] 没有将元素用引号括起来,导致被解释为变量名,应该使用引号括起来表示字符串。
C:list3 = ['power', 'sensor', 'control'] 使用了正确的语法,将元素用引号括起来,并使用逗号进行分隔。
D:list4 = ['power'、 'sensor'、'control'] 使用了中文全角逗号 、,而在Python中应该使用英文半角逗号 ,。
因此,选项 C:list3 = ['power', 'sensor', 'control'] 是正确的。故答案选:C。
【分析】本题考查了对列表定义的语法。列表是Python中常用的数据结构,用于存储多个元素。列表中的元素可以是任意类型的对象,包括整数、浮点数、字符串等。定义列表时,需要使用方括号 [] 将元素括起来,并使用逗号 , 将各个元素分隔开。元素可以是字符串,在定义字符串时需要使用引号(单引号或双引号)将字符串括起来。分隔元素的符号应该使用英文半角逗号 ,,而不是中文全角逗号 、 或其他符号。
4.下列语句正确的输出是?( )
lis= [4 * c for c in "draw"]
print(tuple(lis))
A.('4*d', '4*r', '4*a', '4*w') B.('dddd', 'rrrr', 'aaaa', 'wwww')
C.('draw', 'draw', 'draw', 'draw') D.(4*d, 4*r, 4*a, 4*w)
【答案】A
【知识点】常见的数据结构
【解析】【解答】lis 是通过对字符串 "draw" 的每个字符进行操作生成的列表。对于每个字符 c,表达式 4 * c 将字符重复四次。因此,列表 lis 的元素为:['4d', '4r', '4a', '4w']。将 lis 转换为元组(tuple)后,输出结果为 ('4*d', '4*r', '4*a', '4*w')。故答案选:A。
【分析】本题考查了对列表推导式和字符串操作。列表推导式是一种用于创建新列表的简洁方式。它可以根据一个表达式和一个迭代器生成列表,并可以包含条件语句。在列表推导式中,可以对迭代器中的每个元素进行操作,并根据定义的规则生成新的元素。字符串可以被视为一个可迭代对象,可以按照字符进行遍历。在给定的代码中,字符串 "draw" 被遍历,每个字符被乘以 4,生成了新的字符串元素。最终,列表 lis 包含了四个字符串元素:['4d', '4r', '4a', '4w']。tuple() 函数用于将一个可迭代对象转换为元组。
5.Python中 print('十六进制{0:x}'.format(100)) 正确的输出结果是?( )
A.十六进制0:x64 B.十六进制64
C.十六进制0x100 D.十六进制100
【答案】B
【知识点】Python常用内置函数
【解析】【解答】{0:x} 是格式化字符串中的占位符,用于将第一个参数(100)格式化为十六进制形式。0 表示第一个参数。:x 是格式化说明符,表示将参数格式化为十六进制形式。因此,{0:x} 将 100 格式化为十六进制,结果是 '64'。最终的输出结果是 十六进制64。故答案选:B。
【分析】本题考查了对格式化字符串和格式化说明符。在Python中,可以使用字符串的 format() 方法来进行格式化输出。格式化字符串使用大括号 {} 作为占位符,可以通过指定索引或关键字来引用参数。格式化字符串中的冒号 : 后面可以加上格式化说明符,用于指定参数的显示格式。x 是格式化说明符之一,用于将整数参数格式化为十六进制形式。
6.下面可以正确输出 号称"世界屋脊"的青藏高原 字符的Python语句是?( )
A.print('号称\"世界屋脊\"的青藏高原')
B.print(号称\"世界屋脊\"的青藏高原)
C.print('号称'\"世界屋脊\"的青藏高原)
D.print("号称\"世界屋脊\"的青藏高原)
【答案】D
【知识点】Python常用内置函数
【解析】【解答】A:print('号称\"世界屋脊\"的青藏高原') 在字符串中使用转义字符 \ 来表示引号的转义,可以正确输出。
B:print(号称\"世界屋脊\"的青藏高原) 缺少引号,应该使用引号将字符串括起来。
C:print('号称'\"世界屋脊\"的青藏高原) 引号的位置不正确,应该将引号放在整个字符串的外面。
D:print("号称\"世界屋脊\"的青藏高原) 使用双引号括起整个字符串,可以正确输出。
因此,选项 D:print("号称\"世界屋脊\"的青藏高原") 是正确的Python语句。故答案选:D。
【分析】本题考查了对字符串中引号的转义。在字符串中,如果要包含与字符串本身相同类型的引号,可以使用转义字符 \ 来表示引号的转义。在给定的选项中,字符串中的双引号 "号称\"世界屋脊\"的青藏高原" 被转义为 \",表示字符串中的双引号是作为引号的一部分,而不是表示字符串的结束。使用单引号括起字符串 '号称\"世界屋脊\"的青藏高原' 也可以达到相同的效果,不需要进行转义。在Python中,字符串可以使用单引号或双引号括起来,两者的效果是相同的。使用转义字符 \ 可以表示特殊字符,如引号、换行符等。
7.Python使用range可以创建数值列表。下面可以正确输出不超过1000的10的倍数正整数的语句是?( )
A.print(list(range(1, 1000, 10)))
B.print(list(range(0, 1000, 10)))
C.print(list(range(10, 1001, 10)))
D.print(list(range(10, 1000, 10)))
【答案】B
【知识点】Python常用内置函数
【解析】【解答】A:print(list(range(1, 1000, 10))) 从1开始,每次增加10,直到1000。这将输出从1到991的10的倍数,不符合题目要求。
B:print(list(range(0, 1000, 10))) 从0开始,每次增加10,直到1000。这将输出不超过1000的10的倍数整数,但该项中包含0,不符合题目要求。
C:print(list(range(10, 1001, 10))) 从10开始,每次增加10,直到1001。这将输出从10到1000的10的倍数,符合题目要求。
D:print(list(range(10, 1000, 10))) 从10开始,每次增加10,直到1000。这将输出从10到990的10的倍数,不符合题目要求。
因此,选项 C:print(list(range(10, 1001, 10))) 是可以正确输出不超过1000的10的倍数正整数的语句。
故答案选:C。
【分析】本题考查 range() 函数创建数值列表。在Python中,可以使用 range() 函数创建一个指定范围内的数值列表。range() 函数的三个参数分别是起始值、结束值和步长。range(start, stop, step) 会生成一个从起始值到结束值之间,以指定步长递增或递减的整数序列。范围是左闭右开的,即起始值包含在序列中,但结束值不包含在序列中。
8.学生机器人比赛的时候经常会用到倒计时程序。下面可以正确倒序输出5以内正整数的语句是?( )
A.print(list(range(5, -1, 1))) B.print(list(range(-1, 5, 1)))
C.print(list(range(5, 0, -1))) D.print(list(range(5, 1, -1)))
【答案】C
【知识点】常见的数据结构
【解析】【解答】A:print(list(range(5, -1, 1))) 从5开始,每次增加1,直到-1。这将生成一个空的列表,不符合题目要求。
B:print(list(range(-1, 5, 1))) 从-1开始,每次增加1,直到5。这将输出从-1到4的正整数,不符合题目要求。
C:print(list(range(5, 0, -1))) 从5开始,每次减少1,直到1。这将倒序输出从5到1的正整数,符合题目要求。
D:print(list(range(5, 1, -1))) 从5开始,每次减少1,直到2。这将输出从5到2的正整数,不符合题目要求。
因此,选项 C:print(list(range(5, 0, -1))) 是可以正确倒序输出5以内正整数的语句。
故答案选:C。
【分析】本题考查 range() 函数创建倒序数值列表。在Python中,可以使用 range() 函数创建一个指定范围内的数值列表。range() 函数的三个参数分别是起始值、结束值和步长。range(start, stop, step) 会生成一个从起始值到结束值之间,以指定步长递增或递减的整数序列。范围是左闭右开的,即起始值包含在序列中,但结束值不包含在序列中。
9.有一个字典内容如下,它的元素数量有几个?( )
info = {'Id': 12, 'Num': 4, 'height': 9 }
A.12 B.3 C.4 D.9
【答案】B
【知识点】常见的数据结构
【解析】【解答】给定的字典info包含以下键值对:
{'Id': 12, 'Num': 4, 'height': 9}
元素数量指的是字典中键值对的个数。在这个字典中,有3个键值对。
故答案选:B。
【分析】本题考查字典数据类型。字典是Python中的一种数据类型,用于存储键值对。字典由花括号 {} 包围,键值对之间用冒号 : 分隔,每个键值对之间用逗号 , 分隔。字典中的键是唯一的,且通常为不可变的数据类型(如字符串、整数、元组),值可以是任意数据类型。字典中的元素数量指的是键值对的个数。可以使用 len() 函数来获取字典的元素数量。
10.现有集合 items = set(("height", "width", "color", "align")) ,需要在集合中添加元素"text",正确的是?( )
A.items.add("text") B.items.insert("text")
C.items.pop("text") D.items.set("text")
【答案】A
【知识点】常见的数据结构;Python常用内置函数
【解析】【解答】选项 A 使用 add 方法将元素 "text" 添加到集合中。这是正确的方式。
选项 B 中的 insert 方法是用于列表的,在集合中无效。
选项 C 中的 pop 方法用于移除集合中的元素,但是它需要指定一个已存在的元素作为参数,而不是添加新元素。
选项 D 中没有 set 方法可以用于集合。
故答案选:A。
【分析】本题考查了对集合的基本操作。集合是 Python 中的一种内置数据类型,用于存储多个唯一的元素。集合的特点包括无序性(元素没有固定顺序)和唯一性(不允许重复元素)。可以使用 add 方法向集合添加单个元素,使用 update 方法向集合添加多个元素。可以使用 remove 方法或 discard 方法从集合中移除元素。使用 in 关键字可以检查元素是否存在于集合中。集合还支持交集、并集、差集等操作,可以使用相应的方法或运算符进行操作。
11.计算三位完全平方数(100-999范围内),正确的生成器推导式是?( )
A.square = (x**2 for x in range(10,32))
B.square = (x**2 for x in range(32))
C.square = (x**2 for x in range(10,31))
D.square = [x**2 for x in range(31)]
【答案】A
【知识点】运算符与表达式
【解析】【解答】选项 A (x**2 for x in range(10, 32)) 会生成从 10 到 31 的平方数,满足三位数的完全平方数的要求。
选项 B (x**2 for x in range(32)) 会生成从 0 到 31 的平方数,不满足三位数的完全平方数的要求。
选项 C (x**2 for x in range(10, 31)) 会生成从 10 到 30 的平方数,不满足所有三位数的完全平方数的要求。
选项 D [x**2 for x in range(31)] 会生成从 0 到 30 的平方数,不满足三位数的完全平方数的要求。
故答案选:A。
【分析】本题考查了生成器推导式的使用。生成器推导式(Generator comprehensions)是一种快速创建生成器对象的方式,类似于列表推导式(List comprehensions)。生成器推导式使用圆括号括起来,并在内部使用类似于列表推导式的语法。生成器对象是一种可迭代对象,每次迭代时生成一个值,而不是一次性生成所有值。生成器推导式在处理大量数据时具有高效性能,因为它们按需生成值,而不是一次性生成所有值。
12.下列Python序列解包,正确的输出是?( )
fruit=['apple','peach','orange']
weight=[65,77,68]
for i, j in zip(fruit,weight):
print(i,j,end=' ')
A.'apple','peach','orange',65,77,68
B.apple peach orange 65 77 68
C.apple 65 peach 77 orange 68
D.apple 65 , peach 77 , orange 68
【答案】C
【知识点】分支结构程序设计与分析;常见的数据结构;Python常用内置函数
【解析】【解答】代码中使用了 zip 函数将两个列表 fruit 和 weight 按索引位置进行配对。在 for 循环中,使用序列解包将配对的元素分别赋值给变量 i 和 j。print(i, j, end=' ') 将每个元素以空格分隔打印出来。输出结果为 apple 65 peach 77 orange 68,每个水果与其对应的重量以及空格按顺序打印出来。故答案选:C。
【分析】本题考查了对序列解包和 zip 函数。序列解包(Sequence unpacking)是一种将序列(如列表、元组)中的元素分配给多个变量的操作。在序列解包中,变量的数量应与序列中的元素数量相等,否则会引发 ValueError 异常。zip 函数接受多个序列作为参数,返回一个将相同位置的元素配对的迭代器。当传递给 zip 函数的序列长度不同时,返回的迭代器长度将与最短的序列相同。可以在 for 循环中使用序列解包和 zip 函数一次迭代多个序列,并对每个元素进行操作。
13.下列哪个选项是Python math库的数字常数?( )
A.math.log B.math.inf C.math.rnd D.math.exp
【答案】B
【知识点】常量、变量与赋值语句
【解析】【解答】选项 A math.log 是 math 模块中的一个函数,用于计算对数。
选项 B math.inf 是 math 模块中的一个常数,表示正无穷大。
选项 C math.rnd 不是 math 模块中的有效函数或常数。
选项 D math.exp 是 math 模块中的一个函数,用于计算指数。
故答案选:B。
【分析】本题考查了对math 模块中数字常数。math 是 Python 的数学函数库,提供了执行数学运算的函数和常数。
14.Python中词云主要有WordCloud库,在创建好词云对象后,可以使用什么方法生成词云,并使用to_file方法将词云图像保存在文件中?( )
A.WCloud B.generate C.random D.jieba
【答案】B
【知识点】常用基本函数
【解析】【解答】在使用 WordCloud 库创建词云对象后,可以使用 generate 方法生成词云。generate 方法会根据输入的文本数据生成词云图像,根据词频等信息确定词语的大小、颜色等展示效果。生成的词云图像可以通过 to_file 方法保存在文件中。选项 A:WCloud 并不是 WordCloud 库中的方法或属性。选项 C:random 是用于生成随机数的库,并不与词云生成直接相关。选项 D:jieba 是用于中文分词的库,与词云生成过程中的文本预处理相关,但不直接用于生成词云图像。故答案选:B。
【分析】本题考查 WordCloud 库中生成词云和保存词云图像的方法。WordCloud 是一个用于生成词云的 Python 库,可以根据文本数据创建词云图像。使用 WordCloud 库可以根据词频等信息将词语以不同的大小、颜色等形式展示在图像上,形成具有艺术效果的词云图像。在创建词云对象后,可以使用 generate 方法根据输入的文本数据生成词云图像。生成的词云图像可以通过 to_file 方法保存为图像文件,常见的文件格式包括 PNG、JPEG 等。在生成词云之前,通常需要对文本数据进行预处理,例如分词、去除停用词等,以便生成更加准确的词云图像。WordCloud 库还提供了其他的配置选项,例如设置背景颜色、字体样式、词语形状等,可以根据需求进行调整。
15.有列表li= [‘a’,’b’,’c’,’d’],执行li=li + [‘d’,’e’,’f’] 后,print(li)的结果是?( )
A.[‘a’,’b’,’c’,’d’], [‘d’,’e’,’f’]
B.[‘a’,’b’,’c’,’d’,’e’,’f’]
C.(‘a’,’b’,’c’,’d’,‘d’,’e’,’f’)
D.[‘a’,’b’,’c’,’d’,‘d’,’e’,’f’]
【答案】D
【知识点】常见的数据结构
【解析】【解答】初始列表 li 包含元素 'a', 'b', 'c', 'd'。执行 li = li + ['d', 'e', 'f'] 将列表 ['d', 'e', 'f'] 添加到 li 中。运算符 + 在列表中表示连接操作,将两个列表连接成一个新的列表。因此,li 的结果是 ['a', 'b', 'c', 'd', 'd', 'e', 'f']。故答案选:D。
【分析】本题考查列表连接操作。列表是 Python 中常用的数据类型之一,可以存储多个元素,并按顺序访问。使用 + 运算符可以将两个列表连接成一个新的列表。在执行连接操作时,会将第一个列表的元素和第二个列表的元素按顺序合并到新列表中。连接操作不会改变原始列表,而是生成一个新的列表。
16.已知有元组tup1=('a','b'),tup2=(1,2,3),tup3=tup1+tup2,执行print(len(tup3))后结果是?( )
A.5 B.3 C.2 D.0
【答案】A
【知识点】常见的数据结构;Python常用内置函数
【解析】【解答】给定元组 tup1 为 ('a', 'b'),元组 tup2 为 (1, 2, 3)。执行 tup3 = tup1 + tup2 将 tup1 和 tup2 进行连接操作,生成新的元组 tup3。tup3 包含了 tup1 和 tup2 中的所有元素,即 ('a', 'b', 1, 2, 3)。使用 len(tup3) 计算元组 tup3 的长度,即元素的个数。因此,打印结果为 5,表示元组 tup3 包含了 5 个元素。故答案选:A。
【分析】本题考查了对元组的连接操作。元组是 Python 中的一种不可变序列类型,可以存储多个元素,并按顺序访问。使用 + 运算符可以将两个元组连接成一个新的元组。在执行连接操作时,会将第一个元组的元素和第二个元组的元素按顺序合并到新元组中。连接操作不会改变原始元组,而是生成一个新的元组。可以使用 len() 函数计算元组的长度,即元素的个数。
17.现在有str1="day day up up .",请问str1[5]的值是?( )
A.d B.a C.day d D.p
【答案】B
【知识点】常见的数据结构
【解析】【解答】给定字符串 str1 为 "day day up up ."。字符串的索引从 0 开始,表示字符串中的位置。str1[5] 表示索引为 5 的字符,即第六个字符。在字符串 "day day up up ." 中,第六个字符是字母 'a'。因此,str1[5] 的值为 'a'。故答案选:B。
【分析】本题考查字符串索引。字符串是 Python 中的一种不可变序列类型,表示一串字符。使用方括号和索引值可以访问字符串中特定位置的字符。字符串的索引从 0 开始,表示字符串中的位置。
18.下面哪个选项不可以输出语句"我要考python,今年考5级。"?( )
A.print("我要考{},今年考{}级。".format("python",5))
B.print("我要考{str},今年考{grade}级。".format(grade=5,str="python"))
C.print("我要考%s,今年考%s级。"%(5,"python"))
D.print("我要考%s,今年考%d级。"%("python",5))
【答案】D
【知识点】Python常用内置函数
【解析】【解答】选项 A:print("我要考{},今年考{}级。".format("python",5)) 使用了格式化字符串中的 {} 占位符,并通过 format 方法传入相应的值,可以正确输出所需的语句。
选项 B:print("我要考{str},今年考{grade}级。".format(grade=5,str="python")) 使用了命名占位符 {} 并通过 format 方法的关键字参数传入相应的值,可以正确输出所需的语句。
选项 C:print("我要考%s,今年考%s级。"%(5,"python")) 使用了 % 格式化字符串的方式,并通过 % 运算符传入相应的值,可以正确输出所需的语句。
选项 D:print("我要考%s,今年考%d级。"%("python",5)) 使用了 % 格式化字符串的方式,但占位符的类型与提供的值类型不匹配。第一个占位符使用了 %s 表示字符串,而实际提供的是整数值 "python";第二个占位符使用了 %d 表示整数,而实际提供的是字符串值 5。这样的格式不匹配会导致输出错误。
故答案选:D。
【分析】本题考查格式化字符串。格式化字符串是一种在输出文本时将值插入到字符串中的方法。Python 提供了多种格式化字符串的方式,包括使用 {} 占位符和 format 方法,以及使用 % 运算符。{} 占位符可以按顺序接收值,也可以使用关键字参数指定值的顺序。% 运算符可以使用不同的占位符表示不同的值类型,如 %s 表示字符串,%d 表示整数,%f 表示浮点数等。在使用格式化字符串时,占位符的类型和提供的值的类型需要匹配,否则可能导致输出错误。
19.下面程序要输出1~10,则在①处应填入?( )
x = list(range( ① ))
t = 1**2
for i in x:
print(i+t)
A.5 B.0,10,2 C.10 D.0:10:2
【答案】C
【知识点】循环结构程序设计与分析;常见的数据结构
【解析】【解答】在程序中,x被赋值为range(10),它生成了一个包含从0到9的整数的列表。因此,循环将迭代10次,依次将0到9赋值给变量i。在每次迭代中,打印i加上t的结果,其中t等于1的平方,即1。因此,程序输出的结果是1到10。故答案选:C。
【分析】本题考查range函数。range(start, stop, step)是一个内置函数,用于生成一个整数序列。它接受三个参数:起始值start(默认为0),结束值stop(不包含在序列中),步长step(默认为1)。当只提供一个参数时,该参数被视为结束值,起始值默认为0,步长默认为1。
20.>>> range(9,2,-2)[0]执行后的结果是?( )
A.0 B.-2 C.9 D.2
【答案】C
【知识点】Python常用内置函数
【解析】【解答】执行range(9,2,-2)会生成一个逆向的整数序列,从9开始,步长为-2,直到大于2停止。根据range函数的规则,序列中的第一个元素是起始值9。因此,执行range(9,2,-2)[0]的结果是9。故答案选:C。
【分析】本题考查range函数。range函数可以生成一个整数序列,包括起始值和结束值之间的整数。当提供了步长参数时,序列中的元素之间的间隔由步长决定。如果步长是正数,则序列是递增的;如果步长是负数,则序列是递减的。
21.字典中多个元素之间使用_____分隔开,每个元素的“键”与“值”之间使用_____分隔开。
下列选项中正确的填空选项是?( )
A.逗号 冒号 B.逗号 分号 C.冒号 句号 D.分号 圆点号
【答案】A
【知识点】常见的数据结构
【解析】【解答】字典中多个元素之间使用逗号进行分隔,每个元素的键与值之间使用冒号进行分隔。故答案选:A。
【分析】本题考查字典中元素分隔符。字典是Python中的一种数据结构,用于存储键-值对。每个键值对都由一个键和与之相关联的值组成。在字典中,多个元素之间使用逗号进行分隔,以表示每个键值对。键和值之间使用冒号进行分隔。逗号用于分隔不同的键值对,冒号用于分隔键和值。
22.下列哪一个选项可以输出内容:{'World', 'e', 'H', 'l', 'o'}?( )
A.s=set("Hello")
s.append("World")
print(s)
B.s=set("Hello")
s.add("World")
print(s)
C.s=set("Hello")
s.update("World")
print(s)
D.s=set("Hello")
s.insert("World")
print(s)
【答案】B
【知识点】顺序结构程序设计与分析;Python常用内置函数
【解析】【解答】选项A中,set类型没有append方法,因此会导致错误。
选项B中,使用add方法向集合中添加元素,正确地将"World"添加到集合中,输出{'World', 'e', 'H', 'l', 'o'}。
选项C中,使用update方法向集合中添加元素,但它会将字符串"World"视为可迭代对象,将其拆分为单个字符进行添加,输出结果为{'W', 'r', 'l', 'e', 'o', 'H'}。
选项D中,set类型没有insert方法,因此会导致错误。
故答案选:B。
【分析】本题考查集合类型(set)的操作方法。在Python中,集合(set)是一种无序且不重复的数据集合。它支持添加、删除和查询操作。使用set()函数或使用花括号{}创建一个空集合。要创建一个包含初始元素的集合,可以使用set()函数并将可迭代对象作为参数,或者直接使用花括号包裹元素。使用add()方法可以向集合中添加单个元素。使用update()方法可以向集合中添加多个元素,它接受一个可迭代对象作为参数。
23.根据下列代码及运行结果判断字典推导公式实现的功能?( )
a ={'x ': 6,'y ': 9}
a_change= {v: k for k, v in a.items( )}
print(a_change)
A.创建字典并输出 B.交换字典的key和value
C.输出字典key和value D.遍历字典
【答案】B
【知识点】顺序结构程序设计与分析;常见的数据结构
【解析】【解答】在代码中,使用字典推导公式{v: k for k, v in a.items()}来创建新的字典a_change。a.items()返回原始字典a中的键值对组成的可迭代对象。在推导公式中,使用了k和v分别表示原始字典a中的键和值。推导公式的结果是创建一个新的字典,其中原始字典a中的键变为新字典的值,而原始字典a中的值变为新字典的键。因此,运行结果为{'6': 'x ', '9': 'y '},即键值对被交换了。这意味着字典推导公式实现了将字典的键和值互换的功能。故答案选:B。
【分析】本题考查字典推导公式。字典推导是一种快速创建字典的方法,类似于列表推导和集合推导。字典推导的一般形式是{expression for item in iterable},其中expression定义了新字典中键和值的计算方式。
24.下列代码运行后的正确选项是?( )
import time
a=time.gmtime()
print(time.strftime('%Y-%m-%d %a %h:%M:%S %p',a))
A.2023-02-01 Wed Feb:08:04 PM
B.Wed Feb: 2023-02-01 08:04 PM
C.Wed Feb:08:04 PM 2023-02-01
D.2023-02-01 Wed Feb:08:04
【答案】C
【知识点】Python常用内置函数
【解析】【解答】在给定的代码中,time.strftime('%Y-%m-%d %a %h:%M:%S %p', a)将时间结构a按照指定的格式进行转换,并打印输出结果。%Y表示年份,%m表示月份,%d表示日期,%a表示星期几,%h表示小时(12小时制),%M表示分钟,%S表示秒,%p表示上午/下午。因此,运行结果为Wed Feb:08:04 PM 2023-02-01。故答案选:C。
【分析】本题考查时间格式化。Python的time模块提供了处理时间相关操作的函数。time.gmtime()函数返回当前时间的UTC时间结构,即一个包含年、月、日、时、分、秒等信息的元组。time.strftime(format, time_struct)函数将时间结构按照指定的格式转换为字符串,其中format是格式化字符串,time_struct是时间结构。格式化字符串中的占位符(如%Y、%m等)表示需要插入相应时间信息的位置,通过这些占位符可以控制时间的输出格式。
25.Python的random库中,random.choice()命令的功能是?( )
A.返回时间值 B.返回随机产生的一个字符串
C.获取随机整数 D.随机获取一个元素并返回
【答案】D
【知识点】Python常用内置函数
【解析】【解答】random.choice()命令的功能是D:随机获取一个元素并返回。故答案选:D。
【分析】本题考查random库中random.choice()函数。random是Python中的一个标准库,用于生成随机数。random库提供了多个随机数生成函数,包括生成随机整数、浮点数、随机选择元素等功能。
random.choice(sequence)函数用于从给定序列中随机选择一个元素并返回。序列可以是列表、元组、字符串等可迭代对象。random.choice()函数的返回值是序列中的一个元素,每个元素被选中的概率是相等的。通过调用random.choice()函数,可以实现从给定序列中随机选择一个元素的操作。
二、判断题(共10题,共20分)
26.在Python中设定字符串str="Happy new year",则str.rfind('y')返回值为4。( )
【答案】(1)错误
【知识点】Python常用内置函数
【解析】【解答】str.rfind('y')是字符串对象的一个方法,用于返回指定字符(子字符串)在字符串中最后一次出现的索引。在给定的字符串"Happy new year"中,最后一次出现字符'y'的位置是索引11,而不是索引4。str.rfind('y')会从字符串的右侧开始搜索字符'y',找到最后一次出现的位置并返回对应的索引。在本题中,str.rfind('y')返回值为11。故答案为:错误。
【分析】本题考查字符串方法str.rfind()。在Python中,字符串对象有一个名为rfind()的方法,用于查找指定字符(子字符串)在字符串中最后一次出现的位置。rfind()方法返回找到的字符最后一次出现的索引值,如果未找到则返回-1。rfind()方法从字符串的右侧开始搜索指定字符,向左逐个字符地检查,直到找到目标字符或搜索完整个字符串。
27.乐器社团活动,小明用Python进行信息汇总,为了便于操作,他使用了各个元素之间没有先后顺序的集合类型。( )
【答案】(1)正确
【知识点】常见的数据结构
【解析】【解答】集合(Set)是Python中的一种无序、可变的数据类型,用于存储不重复的元素。集合中的元素之间没有确定的顺序,即元素的存储顺序与添加顺序无关。集合类型在处理数据时具有去重的功能,适合用于存储和操作一组不重复的元素。小明在乐器社团活动中使用集合类型进行信息汇总,可以方便地对活动参与者、乐器种类等进行去重和操作。故答案为:正确。
【分析】本题考查集合类型。在Python中,集合(Set)是一种无序、可变的数据类型,用于存储不重复的元素。集合中的元素之间没有确定的顺序,元素的存储顺序与添加顺序无关。集合类型支持添加、删除和查询操作,并且对元素进行自动去重。可以使用集合类型进行集合之间的交集、并集、差集等操作。集合类型在处理需要去重的数据和对集合操作的场景中非常有用,例如在本题中进行信息汇总的场景。
28.已知元组tup1='a','b','cd',执行print(tup1.count('cd'))后的结果是3。( )
【答案】(1)错误
【知识点】常见的数据结构;Python常用内置函数
【解析】【解答】元组类型提供了count()方法,用于统计指定元素在元组中出现的次数。在给定的元组tup1='a','b','cd'中,元素'cd'只出现了一次,因此tup1.count('cd')的结果是1,而不是3。故答案为:错误。
【分析】本题考查元组类型和元组方法count()。在Python中,元组(Tuple)是一种有序、不可变的数据类型,用于存储多个元素的集合。元组使用圆括号 () 或者没有括号进行定义,元素之间使用逗号进行分隔。元组中的元素按照定义的顺序进行存储,且不可修改。
29.在python中使用双重转义(用两个斜杠)输出文件路径,如:"d:\test\text\file1.txt",在字符串中这样表示:l="d:\\test\\text\\file1.txt",print(l)。( )
【答案】(1)正确
【知识点】运算符与表达式
【解析】【解答】在给定的字符串路径中,要表示 "d:\test\text\file1.txt",可以使用双重转义,即 "d:\test\text\file1.txt"。使用双重转义后,字符串中的每个反斜杠字符都会被正确地解析为一个反斜杠字符。执行 print(l) 会输出 "d:\test\text\file1.txt",其中每个反斜杠字符都会被正确地显示。故答案为:正确。
【分析】本题考查字符串中特殊字符和转义字符。在Python中,反斜杠(\)被用作转义字符,用于表示特殊字符或者在字符串中插入一些特殊的字符。如果要在字符串中表示一个反斜杠字符(\)本身,需要使用双重转义,即两个反斜杠(\)表示一个反斜杠字符。
30.执行下列两段代码的结果是一致的。( )
代码1:
for i in range(9,2):
print("i=",i)
代码2:
for j in range(2,9,-2):
print("j=",j)
【答案】(1)正确
【知识点】循环结构程序设计与分析;Python常用内置函数
【解析】【解答】代码1中的for循环使用range(9,2)作为迭代范围,这意味着从9开始递增,直到2之前停止。但是由于起始值9已经大于终止值2,所以循环体不会执行。因此,代码1不会输出任何内容。代码2中的for循环使用range(2,9,-2)作为迭代范围,步长为-2。然而,由于起始值2并不小于终止值9,且步长为负数,循环无法正常执行。因此,代码2也不会输出任何内容。故答案为:正确。
【分析】本题考查range函数。range函数用于生成一个指定范围内的整数序列,常用于for循环中的迭代。range函数的常用形式为range(start, stop, step),其中start为起始值(包含),stop为终止值(不包含),step为步长(默认为1)。
31.字典对象的items()方法是返回字典中的“键-值对”对象。( )
【答案】(1)正确
【知识点】常见的数据结构;Python常用内置函数
【解析】【解答】字典对象的items()方法返回一个包含字典中所有键值对的可迭代对象,每个键值对以元组的形式表示。故答案为:正确。
【分析】本题考查字典对象的items()方法。字典是Python中的一种数据结构,用于存储键值对。字典中的每个键都是唯一的,它们与相应的值一一对应。字典对象的items()方法可以返回一个可迭代对象,该对象包含字典中的所有键值对。每个键值对以元组的形式表示,元组的第一个元素是键,第二个元素是对应的值。通过items()方法可以方便地遍历字典中的所有键值对,或者进行其他操作,如查找、筛选等。
32.集合类型是一个包含0个或多个数据项的无序的、不重复的数据组合。其中,元素类型只能是固定数据类型,如整数、浮点数、字符串、元组等。( )
【答案】(1)错误
【知识点】常见的数据结构
【解析】【解答】集合类型是Python中的一种数据类型,它是一个无序的、不重复的数据集合。集合中的元素可以是任意类型的,包括整数、浮点数、字符串、元组等,没有固定的数据类型限制。故答案为:错误。
【分析】本题考查集合类型。集合类型是Python中的一种数据类型,用于存储无序、不重复的数据集合。集合类型的特点是元素之间无序且不重复。集合类型可以通过大括号 {} 或者使用 set() 函数进行创建。集合中的元素可以是任意类型的,包括整数、浮点数、字符串、元组等,没有固定的数据类型限制。集合类型支持集合运算,如并集、交集、差集等操作。
33.使用生成器对象的元素时,不可以将其根据需要转化为列表或者元组。( )
【答案】(1)错误
【知识点】常见的数据结构
【解析】【解答】虽然生成器对象可以按需生成数据项,但是它也可以通过转化为列表或元组的方式来获取所有数据项。可以使用 list() 或 tuple() 函数将生成器对象转化为列表或元组,这样就可以一次性获取所有数据项进行使用。故答案为:错误。
【分析】本题考查生成器对象。生成器对象是一种特殊的迭代器,它按需生成数据项,而不是一次性生成所有数据项。生成器对象可以通过函数中使用 yield 关键字来创建。生成器对象的特点是节省内存空间,适用于处理大量数据或者无需一次性生成全部数据的场景。生成器对象可以通过转化为列表或元组的方式获取所有数据项,可以使用 list() 或 tuple() 函数进行转化。
34.wordcloud库生成词云有文本生成和频率生成两种方法。( )
【答案】(1)错误
【知识点】常用基本函数
【解析】【解答】在wordcloud库中,生成词云的方法主要有两种:基于文本生成和基于词频生成。故答案为:错误。
【分析】本题考查wordcloud库中生成词云的方法。基于文本生成的方法是将文本作为输入,根据文本中单词的出现情况生成词云。这种方法会根据文本中单词的频率和位置等信息进行绘制,以展示文本的特征和重要内容。基于词频生成的方法是根据给定的词频信息生成词云。用户可以提供单词及其对应的频率信息,词云会根据频率大小来确定单词在词云中的大小和显示效果。
35.在Python的列表数据结构中,通过insert ()方法可以在指定位置插入元素。( )
【答案】(1)正确
【知识点】常见的数据结构;Python常用内置函数
【解析】【解答】在Python的列表数据结构中,可以使用insert()方法在指定位置插入元素。该方法的语法为:list.insert(index, element)。其中,index表示要插入的位置,element表示要插入的元素。插入后,原位置及其后面的元素都会向后移动。故答案为:正确。
【分析】本题考查列表数据结构中插入元素的操作方法。列表是Python中常用的数据结构,可以存储多个元素,并且可以根据需要进行动态调整。insert()方法是列表对象的一个内置方法,用于在指定位置插入元素。插入元素后,原位置及其后面的元素会向后移动,列表的长度会增加。
三、编程题(共3题,共30分)
36.体育社团活动,老师首先让社团小组成员按从低到高顺序排成一队站好,小明站在队中,发现和他同样身高的有3人,他想知道,当前社团小组的队列中,具有相同身高的最多人数。给出社团小组的每个成员身高信息,请你帮忙编写程序输出相同身高的最多人数。
输入格式:
输入共1行,若干个有序数值(从小到大),互相之间以空格隔开。
输出格式:
输出共1行,1个整数,表示相同身高的最多人数。
输入样例:
120 123 123 125 125 125 126 126 126 126 127 127 129 130
输出样例:
4
a=[int(i) for i in input(). ]
n=len(a)
k,maxn=1,1
for i in range(1,n):
if a[i] == :
k+=1
else:
maxn=max( )
print(maxn)
【答案】split();a[i+1];k=1;max_count, k
【知识点】循环结构程序设计与分析;常见的数据结构;Python常用内置函数
【解析】【解答】(1)split() 函数用于按照指定的分隔符将输入的字符串切分成多个部分,并返回切分后的部分作为列表。在这个问题中,我们需要将输入的一行身高信息按空格进行切分,得到每个成员的身高作为列表元素。故答案为:split()。
(2)这里的条件判断用于判断当前身高a[i]是否与前一个身高a[i-1]相同。如果当前身高与前一个身高相同,则将计数器k加1,表示当前连续相同身高的人数增加了。故答案为:a[i+1]。
(3)如果当前身高与前一个身高不相同,则将计数器k重置为1,表示重新开始统计连续相同身高的人数。故答案为:k=1。
(4)在每次更新计数器k的同时,更新最大连续相同身高人数max_count。使用max()函数比较当前连续相同身高人数k和已经统计的最大连续相同身高人数max_count,取其中较大的值作为新的max_count。故答案为:max_count, k。
【分析】本题考查列表的遍历和条件判断的使用,以及对变量的更新和比较。本题可以通过遍历列表并使用条件判断来解决。在遍历过程中,使用一个变量记录当前连续相同身高的人数,并使用另一个变量记录最大的连续相同身高人数。利用条件判断来判断当前身高是否与前一个身高相同,根据情况更新计数器变量。使用max()函数来比较并更新最大值。
37.文学社团组织一次英语实践活动,每个参与活动的同学都分发到一个英文字符串,所有字符为小写字母,活动任务是找出字符串中的最长回文子串。
如果有多个相同长度的回文子串,输出其中任意一个即可。
例如:
“aykkyu”中最长回文子串是“ykky”。
“helloacmcbjbky”中最长回文子串有2个“cmc”“bjb”。
输入格式:
共1行,1个字符串,长度不超过50。
输出格式:
共1行,1个字符串,最长回文子串。
输入样例:
aykkyu
输出样例:
ykky
s=input()
n=
flag=1
for j in range(n,0, ):
for i in range(0,n-j+1):
x=s[i:i+j]
y=
if(x== ):
print(x)
flag=0
break
if(flag==0):
break
break
【答案】len(s);-1;x[::-1];y
【知识点】循环结构程序设计与分析;常见的数据结构;Python常用内置函数
【解析】【解答】(1)这是为了获取字符串的长度,用于后续循环的范围。我们可以使用 len() 函数获取字符串的长度。故答案为:len(s)。
(2)这是为了控制子串的长度,我们从最长的子串开始查找,循环变量的值从n开始,每次递减1,,到0为止。故答案为:-1。
(3)该处y的值为反转后的子串x,用于与原子串比较是否相等。故答案为:x[::-1]。
(4)该处判断原字符串和反转后的字符串是否相等,从而确定是否是回文子串。故答案为:y。
【分析】本题考查了字符串的基本操作和回文子串的查找。回文子串是指正序和倒序相同的字符串,可以通过遍历所有可能的子串,并判断是否是回文子串来解决问题。在这个问题中,我们通过不断调整子串的长度和起始位置,逐个比较子串和反转后的子串来确定最长回文子串。
38.假设字典dic_city存放每个人想去旅游的城市,小明想去厦门、成都、大理。小李想去大理、广州。小张想去三亚、大理、青岛、上海。
⑴统计每个人想去旅游的城市数目。
⑵统计想去大理的人数以及名单。
根据上述算法思想,补全下列代码。
dic_city={"小明":["厦门","成都","大理"],"小李":["大理","广州"],"小张":["三亚","大理","青岛","上海"]}
for k,v in :
print("{}想去{}个城市旅游". )
name=[]
for k,v in dic_city.items():
if "大理" in :
name. append(k)
print("想去大理旅游的有{}人,他们是{}".format(len(name) ,"、". ))
【答案】dic_city.items();format(k, len(v));dic_city.items();join(name)
【知识点】分支结构程序设计与分析;循环结构程序设计与分析;常见的数据结构;Python常用内置函数
【解析】【解答】(1)使用items()方法遍历字典dic_city的键值对,其中k代表每个人的姓名,v代表他们想去旅游的城市列表。故答案为:dic_city.items()。
(2)通过len(v)可以获取每个人想去旅游的城市数目,然后使用format()函数进行格式化输出。故答案为:format(k, len(v))。
(3)通过遍历字典dic_city的键值对,判断每个人的旅游城市列表v中是否包含"大理"。如果包含,则将该人的姓名k添加到name列表中。故答案为:dic_city.items()。
(4)最后使用len(name)获取想去大理旅游的人数,使用"、".join(name)将姓名列表转换为逗号分隔的字符串。故答案为:join(name)。
【分析】本题考查了字典的遍历和列表的操作。通过遍历字典的键值对可以获取每个人的姓名和对应的旅游城市列表。使用列表的append()方法可以将满足条件的人的姓名添加到列表中,使用len()函数可以获取列表的长度,使用"、".join()方法可以将列表中的元素用逗号连接成字符串。
二一教育在线组卷平台(zujuan.21cnjy.com)自动生成 1 / 1