当前位置:   article > 正文

中国电子学会2023年03月份青少年软件编程Python等级考试试卷五级真题(含答案)_发现和他同样身高的有3人,他想知道,当前的队列中,具有相同身高的最多人数。 给出

发现和他同样身高的有3人,他想知道,当前的队列中,具有相同身高的最多人数。 给出

一、单选题(共25题,共50分)
1.已知一个列表lst = [2,3,4,5,6],lst.append(20),print(lst)的结果是?(C)(2分)
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)(2分)
A.del fruits[0]
B.del fruits['apple']
C.del fruits[1]
D.del fruits[apple]
答案解析:Python列表元素删除的基本操作,’apple’的列表索引值为0,则操作为del fruits[0] 。

3.科技小组4位同学分别在Python中定义了一个列表,正确的是?(C)(2分)
A.list1 = ['power'; 'sensor'; 'control']
B.list2 = [power, sensor, control]
C.list3 = ['power', 'sensor', 'control']
D.list4 = ['power'、 'sensor'、'control']
答案解析:Python列表可以存储字符型,列表中的每个元素都分配一个位置,一个元素对应一个位置,第一个索引是0,第二个索引是1,依此类推。

4.下列语句正确的输出是?(B)(2分)

  1. lis= [4 * c for c in "draw"]
  2. 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)
答案解析:列表推导式会遍历后面的可迭代对象,然后按照for前的表达式进行运算生成列表,最终转换为元组。

5.Python中 print('十六进制{0:x}'.format(100)) 正确的输出结果是?(B )(2分)
A.十六进制0:x64
B.十六进制64
C.十六进制0x100
D.十六进制100
答案解析:字符串的format()函数,x:输出整数的小写十六进制形式,十进制100的十六进制为64,正确的输出结果为"十六进制64"

6.下面可以正确输出  号称"世界屋脊"的青藏高原  字符的Python语句是?(A )(2分)
A.print('号称\"世界屋脊\"的青藏高原')
B.print(号称\"世界屋脊\"的青藏高原)
C.print('号称'\"世界屋脊\"的青藏高原)
D.print("号称\"世界屋脊\"的青藏高原)
答案解析:字符串的转义,\" 可以实现输出标点符号" 。

7.Python使用range可以创建数值列表。下面可以正确输出不超过1000的10的倍数正整数的语句是?(C )(2分)
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)))
答案解析:range(start, stop[, step])的基本应用。

8.学生机器人比赛的时候经常会用到倒计时程序。下面可以正确倒序输出5以内正整数的语句是?( C)(2分)
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)))
答案解析:range(start, stop[, step])的高阶应用。

9.有一个字典内容如下,它的元素数量有几个?(B )(2分)

info = {'Id': 12, 'Num': 4, 'height': 9 }'
运行

A.12
B.3
C.4
D.9
答案解析:字典的基本知识,{'Id': 12, 'Num': 4, 'height': 9 }字典的元素数量为3。

10.现有集合 items = set(("height", "width", "color", "align")) ,需要在集合中添加元素"text",正确的是?(A )(2分)
A.items.add("text")
B.items.insert("text")
C.items.pop("text")
D.items.set("text")
答案解析:集合添加元素的操作为items.add("text")。

11.计算三位完全平方数(100-999范围内),正确的生成器推导式是?(A )(2分)
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)]
答案解析:生成器推导式的语法格式如下:(表达式 for 迭代变量 in 可迭代对象 [if 条件表达式])

12.下列Python序列解包,正确的输出是?( C)(2分)

  1. fruit=['apple','peach','orange']
  2. weight=[65,77,68]
  3. for i,j in zip(fruit,weight):
  4.      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库的数字常数?(B )(2分)
A.math.log
B.math.inf
C.math.rnd
D.math.exp
答案解析:Python math.inf 为数字常数,表示正无穷大的浮点数。

14.Python中词云主要有WordCloud库,在创建好词云对象后,可以使用什么方法生成词云,并使用to_file方法将词云图像保存在文件中?(B )(2分)
A.WCloud
B.generate
C.random
D.jieba
答案解析:利用WordCloud对象的generate()方法加载词云文本,生成词云。

15.有列表li= [‘a’,’b’,’c’,’d’],执行li=li + [‘d’,’e’,’f’] 后,print(li)的结果是?(D )(2分)
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)(2分)
A.5
B.3
C.2
D.0

17.现在有str1="day day up up .",请问str1[5]的值是?(B ) (2分)
A.d
B.a
C.day d
D.p
答案解析:字符串的下标获取元素

18.下面哪个选项不可以输出语句"我要考python,今年考5级。"?(C )(2分)
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,则在①处应填入?(C)(2分)

  1. x = list(range( ① ))
  2. t = 1**2
  3. for i in x:
  4.     print(i+t)


 
A.5
B.0,10,2
C.10
D.0:10:2

20.>>> range(9,2,-2)[0]执行后的结果是?(C )(2分)
A.0
B.-2
C.9
D.2
答案解析:range索引

21.字典中多个元素之间使用     分隔开,每个元素的“键”与“值”之间使用     分隔开。
下列选项中正确的填空选项是?( A)(2分)
A.逗号 冒号
B.逗号 分号
C.冒号 句号
D.分号 圆点号

22.下列哪一个选项可以输出内容:{'World', 'e', 'H', 'l', 'o'}?(B )(2分)
 
A.

  1. s=set("Hello"
  2. s.append("World"
  3. print(s)

B.

  1. s=set("Hello"
  2. s.add("World"
  3. print(s)

C.

  1. s=set("Hello")
  2. s.update("World"
  3. print(s)

D.

  1. s=set("Hello"
  2. s.insert("World"
  3. print(s)

23.根据下列代码及运行结果判断字典推导公式实现的功能?(B)(2分)

  1. a ={'x ': 6,'y ': 9}
  2. a_change= {v: k for k, v in a.items( )}
  3. print(a_change)
  4.  


A.创建字典并输出
B.交换字典的key和value
C.输出字典key和value
D.遍历字典

24.下列代码运行后的正确选项是?(A)(2分)

  1. import time
  2. a=time.gmtime()
  3. 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()命令的功能是?(D )(2分)
A.返回时间值
B.返回随机产生的一个字符串
C.获取随机整数
D.随机获取一个元素并返回

二、判断题(共10题,共20分)
26.在Python中设定字符串 str="Happy new year", 则str.rfind('y')返回值为4。(错 )
答案解析:str="Happy new year", str.rfind('y')返回值为10。

27.乐器社团活动,小明用Python进行信息汇总,为了便于操作,他使用了各个元素之间没有先后顺序的集合类型。( 对)
答案解析: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. #代码1:
  2. for i in range(9,2):
  3.     print("i=",i)
  4. #代码2:
  5. for j in range(2,9,-2):
  6.     print("j=",j)
  7.  


31.字典对象的items()方法是返回字典中的“键-值对”对象。(对 )
答案解析:字典对象的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

  1. a=[int(i) for i in input().         ①        ]
  2. n=len(a)
  3. k,maxn=1,1
  4. for i in range(1,n):
  5.    if a[i] ==         ②        :
  6.       k+=1
  7.    else:
  8.              ③        
  9.    maxn=max(         ④        )
  10. print(maxn)


参考程序:

  1. a=[int(i) for i in input().split()]
  2. n=len(a)
  3. k,maxn=1,1
  4. for i in range(1,n):
  5.    if a[i] == a[i-1]:
  6.       k+=1
  7.    else:
  8.       k=1
  9.    maxn=max(maxn,k)
  10. print(maxn)

评分标准:
(1)split()或等效答案;(2分)
(2)a[i-1]或等效答案;(3分)
(3)k=1或等效答案;(2分)
(4)maxn,k或等效答案。(3分)

37.文学社团组织一次英语实践活动,每个参与活动的同学都分发到一个英文字符串,所有字符为小写字母,活动任务是找出字符串中的最长回文子串。
如果有多个相同长度的回文子串,输出其中任意一个即可。
例如:
“aykkyu”中最长回文子串是“ykky”。
“helloacmcbjbky”中最长回文子串有2个“cmc”“bjb”。

输入格式:
共1行,1个字符串,长度不超过50。

输出格式:
共1行,1个字符串,最长回文子串。

输入样例:
    aykkyu

输出样例:
    ykky

  1. s=input()
  2. n=         ①        
  3. flag=1
  4. for j in range(n,0,          ②        ):
  5.    for i in range(0,n-j+1):
  6.       x=s[i:i+j]
  7.       y=         ③        
  8.       if(x==         ④        ):
  9.          print(x)
  10.          flag=0
  11.          break
  12.    if(flag==0):
  13.       break


参考程序:

  1. s=input()
  2. n=len(s)
  3. flag=1
  4. for j in range(n,0,-1):
  5.    for i in range(0,n-j+1):
  6.       x=s[i:i+j]
  7.       y=x[::-1]
  8.       if(x==y):
  9.          print(x)
  10.          flag=0
  11.          break
  12.    if(flag==0):
  13.       break

评分标准:

(1)len(s)或等效答案;(2分)
(2)-1或等效答案;(3分)
(3)x[::-1]或等效答案;(3分)
(4)y或等效答案。(2分)


38.假设字典dic_city存放每个人想去旅游的城市,小明想去厦门、成都、大理。小李想去大理、广州。小张想去三亚、大理、青岛、上海。
(1)统计每个人想去旅游的城市数目。
(2)统计想去大理的人数以及名单。
根据上述算法思想,补全下列代码。

  1. dic_city={"小明":["厦门","成都","大理"],"小李":["大理","广州"],"小张":["三亚","大理","青岛","上海"]}
  2. for k,v in         ①        :
  3.     print("{}想去{}个城市旅游".        ②        )
  4. name=[]
  5. for k,v in dic_city.items():
  6.     if "大理" in         ③        :
  7.         name. append(k)
  8. print("想去大理旅游的有{}人,他们是{}".format(len(name) ,"、".        ④        ))

参考程序:

  1. dic_city={"小明":["贵阳","成都","大理"],"小李":["大理","广州"],"小张":["三亚","大理","青岛","上海"]}
  2. for k,v in dic_city.items():
  3.     print("{}想去{}个城市旅游".format(k,len(v)))
  4. name=[]
  5. for k,v in dic_city.items():
  6.     if "大理" in v:
  7.         name. append(k)
  8. print("想去大理旅游的有{}人,他们是{}".format(len(name) ,"、".join(name)))


评分标准:
(1)dic_city.items()或等效答案;(3分)
(2)format(k,len(v))或等效答案;(3分)
(3)v或等效答案;(2分)
(4)join(name)或等效答案。(2分)

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/繁依Fanyi0/article/detail/961501
推荐阅读
相关标签
  

闽ICP备14008679号