2023年3月青少年软件编程(Python)等级考试五级【答案版】.docx
一、单选题(共25题,共50分)1.已知一个列表ISt=2,3,4,5,6,1st.append(20),Print(ISt)的结果是?(C)(2分)A. 10,2,3,4,5,6,20C.2,3,4,5,6,20B. 20,2,10,3,4,5,6D.2,3,4,5,6,10,202 .水果店管理员现有列表fruits='app1.e','orange','banana','peach'当前卖出苹果('app1.e'),需要删去列表元素'app1.e',正确的操作是?(A)(2分)A. de1.fruits0C.de1.fruits1B. de1.fruits,app1.e,D.de1.fruitsapp1.e答案解析:Python列表元素删除的基本操作,'app1."的列表索引值为0,则操作为de1.fruits003 .科技小组4位同学分别在PythOn中定义了一个列表,正确的是?(C)(2分)A.Iist1.='power''sensor',controB.Iist2=power,sensor,contro1.C. Iist3='power,sensor,controD. Iist4='power,、'sensor,、'contro答案解析:PythOn列表可以存储字符型,列表中的每个元素都分配一个位置,一个元素对应一个位置,第一个索引是0,第二个索引是1,依此类推。4.下列语句正确的输出是?(B)(2分)Iis=4*cforcindrawprint(tup1.e(Hs)A. (,4*d','4*r','4*a','4*w')C.('draw,'draw,'draw,'draw,)B. ('dddd,'rrrr,'aaaa,'wwww,)D.(4*d,4*r,4*a,4*w)答案解析:列表推导式会遍历后面的可迭代对象,然后按照for前的表达式进行运算生成列表,最终转换为元组。5.Python中Print('十六进制0:x'.format(100)正确的输出结果是?(B)(2分)A.十六进制0:x64C.十六进制0x100B.十六进制64D.十六进制100答案解析:字符串的format。函数,x:输出整数的小写十六进制形式,十进制100的十六进制为64,正确的输出结果为十六进制646 .下面可以正确输出号称“世界屋脊”的青藏高原字符的PythOn语句是?(A)(2分)A. print('号称世界屋脊的青藏高原')C.print('号称'世界屋脊的青藏高原)B. print(号称世界屋脊的青藏高原)D.print(号称世界屋脊的青藏高原)答案解析:字符串的转义,可以实现输出标点符号。7 .Python使用range可以创建数值列表。下面可以正确输出不超过100O的10的倍数正整数的语句是?(C)A. print(1.ist(range(1,1000,10)C.print(1.ist(range(10,1001,10)B. print(1.ist(range(0,1000,10)D.print(1.ist(range(10,1000,10)答案解析:range(start,stop,step)的基本应用。8 .学生机器人比赛的时候经常会用到倒计时程序。下面可以正确倒序输出5以内正整数的语句是?(C)A. print(1.ist(range(5,-1,1)C.print(1.ist(range(5,0,-1)B. print(1.ist(range(-1,5,1)D.print(1.ist(range(5,1,-1)答案解析:range(start,stop,step)的高阶应用。9 .有一个字典内容如下,它的元素数量有几个?(B)(2分)info=,Id,:12,Num':4,'height':9)A.12B.3C.4D.9答案解析:字典的基本知识,11d':12,'NUn1.':4,'height':9字典的元素数量为3。10 .现有集合items=Set("height","width","co1.or","a1.ign"),需要在集合中添加元素text”,正确的是?(A)(2分)A. items.add(text)C.items,pop(zztextzz)B. items,insert(zztextzz)D.items,set(zztextz,)答案解析:集合添加元素的操作为items,add(zztextzz)oI1.计算三位完全平方数(100-999范围内),正确的生成器推导式是?(A)(2分)A. square=(x*2forXinrange(10,32)C.square=(x*2forxinrange(10,31)B. square=(x*2forXinrange(32)D.square=x*2forXinrange(31)答案解析:生成器推导式的语法格式如下:(表达式for迭代变量in可迭代对象if条件表达式)12.下列PythOn序列解包,正确的输出是?(C)(2分)fruit=,app1.e','peach,orange,weight=65,77,68fori,jinzip(fruit,weight):print(i,j,end=j,)C.app1.e65peach77orange68A.,app1.e,peach,orange,65,77,68B.app1.epeachorange657768D.app1.e65,peach77,orange6813.下列哪个选项是Pythonmath库的数字常数?(B)(2分)A.math,1.ogB.math,infC.math,rndD.math,exp答案解析:Pythonmath,inf为数字常数,表示正无穷大的浮点数。14.Python中词云主要有WordC1.oud库,在创建好词云对象后,可以使用什么方法生成词云,并使用to_fi1.e方法将词云图像保存在文件中?(B)(2分)A.WC1.oudB.generateC.randomD.jieba答案解析:利用WordCIoUd对象的generate。方法加载词云文本,生成词云。15.有列表Ii='a','b','c','d'执行Ii=Ii+'d','e','f'后,Print(Ii)的结果是?(D)(2分)16.已知有元组tup1.=('a','b'),tup2=(1,2,3),tup3=tup1.+tup2,执行print(Ien(tup3)后结果是?(A)A.5B.3C.2D.O17.现在有str1.=zzdaydayupUP.,请问Str1.5的值是?(B)(2分)A.dB.aC.daydD.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,PythOrr)DPrint(我要考s,今年考%d级。("python”,5)19 .下面程序要输出1.10,则在处应填入?(C)(2分)X=1.ist(range()t=1*2foriinx:print(i+t)A.5B.0,10,2C.10D.0:10:220.>>>range2,-2)0执行后的结果是?(C)(2分)A.0答案解析:range索引B.-2C.9D.221.字典中多个元素之间使用分隔开,每个元素的“键”与“值”之间使用下列选项中正确的填空选项是?(A)(2分)分隔开。A.逗号冒号B.逗号分号C.冒号句号D.分号圆点号22.下列哪一个选项可以输出内容:'Wor1.d','e','H,o,?(B)(2分)A.s=set(zzHe1.1.ozz)B.s=set(zzHe1.1.ozz)C.s=set(zzHe1.1.ozz)D.s=set(zzHe1.1.ozz)s.append(zzWor1.dzz)s.add(zzWor1.dzz)s.update(zzWor1.dzz)s.insert(zzWor1.dzz)print(三)print(三)print(三)print(三)23 .根据下列代码及运行结果判断字典推导公式实现的功能?(B)(2分)a=,X,:6,'y':9achange=v:kfork,Vina.items()print(achange)B.交换字典的key和va1.ueA.创建字典并输出C.输出字典key和va1.ueD.遍历字典24 .下列代码运行后的正确选项是?(A)(2分)importtimea=time.gmtime()print(time.Strftime(,%Y-%m-%d%a%h:%M:%S%p,a)A.2023-02-01WedFeb:08:04PMC.WedFeb:08:04PM2023-02-01B.WedFeb:2023-02-0108:04PMD.2023-02-01WedFeb:08:0425 .Python的random库中,random,choice()命令的功能是?(D)(2分)A.返回时间值C.获取随机整数B.返回随机产生的一个字符串D.随机获取一个元素并返回二、判断题(共10题,共20分)26 .在PythOn中设定字符串Str=zzHappynewyear”,则Str.rfind('y')返回值为4。(错)答案解析:Str=zzHappynewyear",Str.rfind('y')返回值为10。27 .乐器社团活动,小明用Python进行信息汇总,为了便于操作,他使用了各个元素之间没有先后顺序的集合类型。(对)答案解析:Python中的集合元素是无序的。28 .已知元组tup1.='a','b','cd',执行Print(tup1.count('cd')后的结果是3。(错)29 .在PythOn中使用双重转义(用两个斜杠)输出文件路径,如:d:testtextfi1.e1.txt,在字符串中这样表示:1.=zzd:testtextfi1.e1.txtzz,print(1)0(对)答案解析:输出右斜杠时,要用两个右斜杠进行转义。30 .执行下列两段代码的结果是一致的。(对)#代码1:foriinrange(9,2):print(zzi=zz,i)#代码2:forjinrange(2,9,-2):print(j=,j)31 .字典对象的items。方法是返回字典中的“键-值对”对象。(对)答案解析:字典对象的items。方法是返回字典中的“键-值对”对象。32 .集合类型是一个包含O个或多个数据项的无序的、不重复的数据组合。其中,元素类型只能是固定数据类型,如整数、浮点数、字符串、元组等。(对)33 .使用生成器对象的元素时,不可以将其根据需要转化为列表或者元组。(错)答案解析:使用生成器对象的元素时,可以将其根据需要转化为列表或者元组。34 .wordc1.oud库生成词云有文本生成和频率生成两种方法。(对)35 .在Python的列表数据结构中,通过insert()方法可以在指定位置插入元素。(对)三、编程题(共3题,共30分)36 .体育社团活动,老师首先让社团小组成员按从低到高顺序排成一队站好,小明站在队中,发现和他同样身高的有3人,他想知道,当前社团小组的队列中,具有相同身高的最多人数。给出社团小组的每个成员身高信息,请你帮忙编写程序输出相同身高的最多人数。【输入格式:】输入共1行,若干个有序数值(从小到大),互相之间以空格隔开。【输出格式:】输出共1行,1个整数,表示相同身高的最多人数。【输入样例:】120123123125125125126126126126127127129130【输出样例:】4a=int(i)foriininput().n=1.en(八)k,maxn=1.,1foriinrange(1,n):ifai=k+=1.e1.se:maxn=maxprint(maxn)参考程序:a=int(i)foriininput().sp1.it()n=1.en(八)k,maxn=1.,1foriinrange(1,n):ifai=ai-1.:k+=1.e1.se:k=1.maxn=max(maxn,k)print(maxn)评分标准:(1)SP1.it()或等效答案;(2分)(2) aiT或等效答案;(3分)(3) k=1.或等效答案;(2分)(4) maxn,k或等效答案。(3分)37.文学社团组织一次英语实践活动,每个参与活动的同学都分发到一个英文字符串,所有字符为小写字母,活动任务是找出字符串中的最长回文子串。如果有多个相同长度的回文子串,输出其中任意一个即可。例如:“aykkyu”中最长回文子串是“ykky”。ahe1.Ioacmcbjbky中最长回文子串有2个“cmc”“bjb”。【输入格式:】共1行,1个字符串,长度不超过50。【输出格式:】共1行,1个字符串,最长回文子串。【输入样例:】aykkyu【输出样例:】Ykkys=input()11=fIag=Iforjinrange(n,0,):foriinrange(0,n-j+1.):x=si:i+jy=if(x=):print(x)f1.ag=0breakif(f1.ag=0):break参考程序:s=input()n=1.en(三)f1.ag=1.forjinrange(n,0,-1):foriinrange(0,n-j+1.):x=si:i+jy=x:-1if(x=y):print(x)f1.ag=0breakif(fIag=O):break评分标准:(1)Ien(三)或等效答案;(2分)(2) -1或等效答案;(3分)(3) x::-1或等效答案;(3分)(4) y或等效答案。(2分)38.假设字典dic_city存放每个人想去旅游的城市,小明想去厦门、成都、大理。小李想去大理、广州。小张想去三亚、大理、青岛、上海。(1)统计每个人想去旅游的城市数目。(2)统计想去大理的人数以及名单。根据上述算法思想,补全下列代码。dijcity=小明:厦门,成都,大理V小李:大理,广州,小张:三亚,大理,青岛,上海fork,Vin:Print(想去个城市旅游.)name=fork,Vindiccity.items():if大理in:name,append(k)Print(想去大理旅游的有人,他们是'.format(1.en(name),、.)参考程序:dijcity=小明:贵阳,成都,大理,小李:大理,广州,小张:三亚,大理,青岛,上海fork,Vindic_city.items():print(想去个城市旅游.format(k,Ien(v)name=fork,vindiccity.items():if大理inv:name,append(k)Print(想去大理旅游的有人,他们是.format(1.en(name),zz/.join(name)评分标准:(1) dijcity.items()或等效答案;(3分)(2) format(k,Ien(v)或等效答案;(3分)(3) V或等效答案;(2分)(4) join(name)或等效答案。(2分)