青少年软件编程(Python)等级考试试卷(五级)-20210905143427241_第1页
青少年软件编程(Python)等级考试试卷(五级)-20210905143427241_第2页
青少年软件编程(Python)等级考试试卷(五级)-20210905143427241_第3页
青少年软件编程(Python)等级考试试卷(五级)-20210905143427241_第4页
青少年软件编程(Python)等级考试试卷(五级)-20210905143427241_第5页
已阅读5页,还剩18页未读, 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

青少年软件编程(Python)等级考试试卷(五级)分数:100.00题数:38一、单选题(共25题,每题2分,共50分)1. 执行下列代码,正确的答案是?() >>>l=[10,0,1,6,12,8] >>>l.sort(key=str) >>>lA、[0,1,6,8,10,12]B、[0,1,10,12,6,8]C、[0,1,10,6,8,12]D、[12,10,8,6,1,0]题型:单选题答案:B难度:一般试题解析:2.下列说法,正确的是?()A、集合类型是一个元素集合,元素之间有序B、集合类型是一个元素集合,元素不能重复C、集合类型是一个元素集合,元素可以重复D、集合类型是一个元素集合,元素之间无序,元素类型必修相同题型:单选题答案:B难度:容易试题解析:3.对于r=range(5),下列合法的方法是?()A、r[2]=8B、delr[2]C、r.pop()D、r.count(2)题型:单选题答案:D难度:容易试题解析:4. 下列代码的运行结果是?() defjishu(n):     returnn%2==1 newlist=filter(jishu,[1,2,3,4,5,6,7,8,9,10]) n=list(newlist) print(n)A、[2,4,6,8,10]B、[1,3,5,7,9]C、[1,2,3,4,5,6,7,8,9,10]D、[10,9,8,7,6,5,4,3,2,1]题型:单选题答案:B难度:一般试题解析:过滤函数使用filter。5. 下列语句的输出结果是?() for i in“xyz”: forjinrange(3):     print(i,end=’ ’) if i==”z”: breakA、xxxyzzzB、xxxyyyzC、xxxyyyzzzD、xyyyzzz题型:单选题答案:B难度:一般试题解析:6.下列操作,正确的为哪一项?()A、 >>>tuple(‘nihao’) >>>(‘ni’,’hao’)B、 >>>tuple(range(3)) >>>(0,1,2)C、 >>>tuple(str,range(3)) >>>(0,1,2)D、 >>>tuple(map(str,range(3))) >>>(0,1,2)题型:单选题答案:B难度:一般试题解析:7.下列有关列表的描述,错误的是?()A、列表是包含若干元素的随机内存空间B、列表是包含若干元素的有序内存空间C、列表是包含若干元素的连续内存空间D、列表的相邻元素之间使用逗号分隔题型:单选题答案:A难度:一般试题解析:列表是包含若干元素的有序连续内存空间,故选A8. 运行下列代码的结果是?() import math math.ceil(-3.3)A、-4B、-3C、-4.0D、-3.0题型:单选题答案:B难度:容易试题解析:9.下列元组的声明,非法的是哪一项?()A、t=1,2,3B、t=(1,2,3)C、t=(1,)D、t=(1)题型:单选题答案:D难度:容易试题解析:10. 运行下列代码,正确的结果是?()  >>>print("{:.2f}".format(3.1415926))A、’3.1’B、3.1C、’3.14’D、3.14题型:单选题答案:D难度:容易试题解析:11.使用map函数可以实现列表数据元素类型的转换,而无需通过循环。则将列表l=['2','4','6','8']转换为列表[2,4,6,8]的函数写法为?()A、map(int,l)B、list(map(int,l))C、map(l,int)D、list(map(l,int))题型:单选题答案:B难度:较难试题解析:12. 运行下列代码,正确的结果是?() >>>x=set('runoob') >>>y=set('google') >>>x&y A、{‘o’,’o’}B、{'r','b','u','n'}C、{'b','e','g','l','o','n','r','u'}D、{'o'}题型:单选题答案:D难度:一般试题解析:13. 下列语句的输出结果是?() l=list(range(1,3)) print(l)A、[0,1,2]B、{0,1,2}C、[1,2]D、.{1,2}题型:单选题答案:C难度:一般试题解析:14.赋值语句path='c:\abc\xyz\tag.txt',执行结果是?()A、path的值是'c:\abc\xyz\tag.txt'B、path的值是'c:\bc\yz\ag.txt'C、path的值是'c:\\abc\\xyz\\tag.txt'D、提示出错题型:单选题答案:D难度:容易试题解析:15.方法pop()与remove()的区别与相同点,错误的是?()A、都是删除与参数表中参数相同的元素B、pop()有返回值C、remove()没有返回值D、pop()如果不带参数,则表示默认参数值为-1题型:单选题答案:A难度:一般试题解析:pop()删除的是参数作为索引所指向的元素。16.有关jieba库的描述,错误的是?()A、jieba库的分词原理是利用英文词库,将待处理的内容与词库比对后找到最大概率的词组B、jieba.lcut(s)返回的是一个列表类型C、jieba.cut(s)返回的可能是一个元组类型D、jieba.add_word(w)向分词词典中增加新词w题型:单选题答案:A难度:一般试题解析:17. 要生成如下效果的图片,可以使用以下哪个python库?() A、jiebaB、mathC、matplotlibD、wordcloud题型:单选题答案:D难度:一般试题解析:18.以下列表对象的表达,非法的或者值为False的选项是?()A、[]B、[None,0,’’]C、[1,2,3]D、[8,]!=[8]题型:单选题答案:D难度:较难试题解析:[8,]!=[8]的值为False。故选D19. 下列语句的输出结果是?() for i inrange(6): ifi%2==0:     continue else:     print(i,end=’,’)A、1,3,5,B、1,3,5C、0,2,4,D、0,2,4题型:单选题答案:A难度:一般试题解析:20.随机产生1-5之间的一个整数的代码是?()A、 >>>importrandom >>>random.randrange(1,6)B、 >>>importrandom >>>random.randrange(1:6)C、 >>>importrandom >>>random.randchoice(1,5)D、 >>>importrandom >>>random.randint(1,5)题型:单选题答案:D难度:容易试题解析:21.print(‘\x61’)的结果是?()A、\x61B、‘\x61’C、aD、A题型:单选题答案:C难度:一般试题解析:\x**表示2位十六进制数对应的字符22.下列声明字典的语句,错误的是?()A、d={}B、d={'name':'Tom','age':20,"salary":3900}C、d=dict(title='Python',author='Tom',price=59)D、d=list[('name','Jerry'),('age',20)]题型:单选题答案:D难度:一般试题解析:23. 求执行下列操作后的正确结果?() >>>url='' >>>url.split()A、('')B、['www’,’lxsz’,’com']C、['']D、('www’,’lxsz’,’com')题型:单选题答案:C难度:一般试题解析:24.m=[x*xforxinrange(5)]的结果的是?()A、25B、16C、[0,1,4,9,16]D、(0,1,4,9,16)题型:单选题答案:C难度:一般试题解析:25.若d是一个字典,则max(d)是指求?()A、字典中键的最大值B、字典中值的最大值C、字典中键值对的最大值D、字典中数字值的最大值题型:单选题答案:A难度:容易试题解析:注意两个点,一个是map的参数为类型、序列。另外,map生成的对象不是列表,需要强制转换。二、判断题(共10题,每题2分,共20分)26.对于列表l=[0,1,2,3,4],all(l)的值是True,any(l)的值是False。题型:判断题答案:错误难度:一般试题解析:all(l)测试是否所有元素都等价于True。any(l)测试是否存在等价于True的元素。27.set()函数可以用于生成集合,输入的参数可以是任意组合数据类型,返回结果是一个无重复且排序任意的集合。题型:判断题答案:正确难度:一般试题解析:集合的概念28. 下列两个语句的功能不可能等价: >>>l=[x*xforxinrange(6)] >>>l=list(map(lambdax:x*x,range(6)))。题型:判断题答案:错误难度:较难试题解析:29.字典中的“键”不允许重复,“值”也不允许重复。in运算符的速度比列表、元组快得多。题型:判断题答案:错误难度:一般试题解析:“值”允许重复。30. >>>list(zip(range(3),"abcd")) 返回[(0,'a'),(1,'b'),(2,'c'),(3,’d’)]。题型:判断题答案:错误难度:一般试题解析:正确的答案是[(0,'a'),(1,'b'),(2,'c')]31. >>>list(enumerate(range(3))) 返回值为[(0,0),(1,1),(2,2)]。题型:判断题答案:正确难度:一般试题解析:32.列表、元组、字符串均可以用set()转换为集合,例如:>>>set((1,2,2,3,4)),结果是{1,2,2,3,4}。题型:判断题答案:错误难度:容易试题解析:集合中元素无重复33. >>>m=’\n\nnihao\t\tliping\n\n\nzhangsan’ >>>m.split() 结果是:['nihao','liping','zhangsan']。题型:判断题答案:错误难度:较难试题解析:在调用方法split()时,若不传递任何参数,则会使用任何空白字符(包括空格、换行符、制表符等)作为分隔符;若字符串存在连续的空白字符,则按一个空白字符对待,并且返回结果中不包含任何空字符串。34. 利用日期时间模块datetime,可以获取“今天”的日期,方法如下: >>>importdatetime >>>t=datetime.today()。题型:判断题答案:错误难度:一般试题解析:第二行语句为>>>t=datetime.date.today()。35. >>>'{0:%}'.format(3.5)返回'350.000000%'; >>>’{0:.2f}’.format(1/5)返回'0.2'。题型:判断题答案:错误难度:一般试题解析:.2f表示保留两位小数三、编程题(共3题,共30分)36. 简单去重问题: 对于给定的列表,要求对列表中每个重复元素只输出一次,请你编程完成这个任务。 例如:对于测试列表a=[11,1,14,23,11,89,14,56,89] 有如下3种算法,请你补全代码。 #方法1 a=[11,1,14,23,11,89,14,56,89] result=[] foriina:     ifinotinresult:         ①       print("方法1:",result) #方法2 a=[11,1,14,23,11,89,14,56,89] foriin[jforjinaifa.count(i)>1]:     forxinrange(a.count(i)-1):         ②      print("方法2:",a) #方法3 a=[11,1,14,23,11,89,14,56,89] i=0 whilei<=len(a)-1:     ifa.count(a[i])>1:         ③            else:         ④        print("方法3:",a)题型:编程题答案: 答案: (1)result.append(i)(2分)  (2)a.remove(i)(2分)  (3)a.pop(i)(3分)  (4)i+=1(3分)难度:容易试题解析: #方法1 a=[11,1,14,23,11,89,14,56,89] result=[] foriina:     ifinotinresult:          result.append(i) print("方法1:",result) #方法2 a=[11,1,14,23,11,89,14,56,89] foriin[jforjinaifa.count(i)>1]:     forxinrange(a.count(i)-1):         a.remove(i) print("方法2:",a) #方法3 a=[11,1,14,23,11,89,14,56,89] i=0 whilei<=len(a)-1:     ifa.count(a[i])>1:         a.pop(i)     else:         i+=1 print("方法3:",a)37. 密码问题: 根据密码本和电子钥匙,破解笔记本电脑的密码。 密码本是一个非降的整数序列,电子钥匙是一个整数,得到密码的方法是在密码本中找到最接近电子钥匙的整数(如果多个符合条件,输出最小的一个)。 例如: 密码本为下面的列表 a=[1,22,43,45,45,55,60,70,89] 电子钥匙为整数44 满足条件的整数为43和45,最终的密码为43 补全下面的代码: a=[1,22,43,45,45,55,60,70,89]#密码本k=int(input())  #k为电子钥匙l=0r=8whilel+1!=r:  mid=int(   ①  )  ifa[mid]<k:         ②     else:    r=mid  ifa[r]==k:        ③      ifk-a[l]<=    ④   :    print(a[l])else:  print(⑤)题型:编程题答案: 答案: ① (l+r)/2(2分)  ② l=mid(2分)  ③ break(2分)  ④ a[r]-k(2分)  ⑤  a[r](2分)难度:一般试题解析: a=[1,22,43,45,45,55,60,70,89] k=int(input()) l=0 r=8 whilel+1!=r:   mid=int((l+r)/2)   ifa[mid]<k:     l=mid   else:     r=mid   ifa[r]==k:     break ifk-a[l]<=a[r]-k:   print(a[l]) else:   print(a[r]) 38. 罗马数字问题: 罗马数字包含以下七种字符:I,V,X,L,C,D和M。 27写做XXVII,即为XX+V+II。通常情况下,罗马数字中小的数字在大的数字的右边。但也存在特例,例如4不写做IIII而是IV。数字1在数字5的左边,所表示的数等于大数5减去数1得到的数值4。同样地,数字9表示为IX。 这个特殊的规则只适用于以下六种情况: I可以放在V(5)和X(10)的左边,来表示4和9。 X可以放在L(50)和C(100)的左边,来表示40和9

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论