2021年9月中国电子学会全国青少年软件编程(Python)等级考试试卷(二级)-20210905143400924.docx
青少年软件编程(Python)等级考试试卷(二级)分数:100.00题数:37一、单选题(共25题,每题2分,共50分)1 .有如下PythOn程序段:x,y=12,5ifX%y=0:z=xyPrint(XJZ)else:z=y*xPrint(XJ*'%”=,Z)程序段执行后,输出的结果为?()A、xy=2.4x*y=60C、12/5=2.4D、12*5=60题型:单选题答案:D难度:一般试题解析:因为x%y=2,因此执行else中的语句,即z=60,输出结果为12*5=60,答案为Do2 .下列创建元组的方法中不正确的是?()A、t=(l,2,'信息')B、t=(l)C、t=C信息力D、t=喑乐体育美术,题型:单选题答案:B难度:容易试题解析:只有一个元素的元组,在定义时,需要添加一个逗号,I=(If)3 .Sd语文、数学、英语、信息技术'l=s.split(,>')print(l)以上代码的运行结果为?()A、r语文/数学/英语/信息技术b、语文、数学、英语、信息技术】C、('语文/数学/英语/信息技术')D、C语文、数学、英语、信息技术')题型:单选题答案:A难度:一般试题解析:SPlit()通过指定分隔符对字符串进行切片,返回分割后的字符串列表。语法:str.split(str="",num=string.count(stj).本题中Str分隔符为"、",所以被分隔为语文','数学英语/信息技术4 .已知存在字典a中有多个键值对,以下指令可以清空字典并保留变量的是?()A、a.remove()Ba.pop()C、a.clear()Dndela题型:单选题答案:C难度:一般试题解析:根据题意应该选择C5 .以下程序的运行结果是?()IiStl=1,2,3listl2=4Print(Iistl)A、1,2,4B.l,2z3C、1,4,3D、1,4题型:单选题答案:A难度:一般试题解析:6.执行下列代码后,运行结果是?()Il=11,22,3312=66,44,22foriin11:forjin12:ifi=j:print(i)A、TrueB、0C、2D、22题型:单选题答案:D难度:困难试题解析:掌握循环嵌套的使用7.执行以下语句后的输出结果是?()strl='MynameisBeiJing'print(len(strl) A、20B、18C、15D、16题型:单选题答案:B难度:一般试题解析:8. 列表a=l,2,3,456,7,8,”对列表进行切片操作,要想得到3,5,7,以下切片正确的是?()A、a-7:-2:-2B、a2:7:2C、a3:7:2D、a2:7:-2题型:单选题答案:B难度:容易试题解析:9.执行以下语句,将输出?()Iistl='b7c',lz23A5listl.append('a');listl.append('a');IistlA、b,'c',l,2,3,4,5B.'b7c'43A5a'C>'b7c,4z23A5a7a'D、无输出题型:单选题答案:C难度:一般试题解析:10. 不能用作if语句条件表达式的是?()A、Xinrange(6)B、3=aC、a>3andb<10D、x-6>5题型:单选题答案:B难度:一般试题解析:能够合理设置if语句的条件11.执行以下语句后,输出的结果是?()>>>list2=,a'zlz2,3,4,5>>>print(list25)A、5B、4C、3D、提示错误题型:单选题答案:A难度:一般试题解析:12. alist='cat','bat','cat','hat','cat',;执行下列代码,输出的结果是?()alist.remove(,cat')print(alist)A、,cat7bat7cat,hat7cat,B、,batcathat7cat'C、,bathat'D.,cat7bat,cat,z,hat,题型:单选题答案:B难度:一般试题解析:13. 以下创建字典的方法,正确的是?()A、d=学号,001,姓名涨三,成绩,98B、d=f学号ToOrJ姓名?张三?成绩,:98C、d=(学号,皿姓名7张三,成绩-98D、d=学号OO1''姓名丁张三成绩':98题型:单选题答案:B难度:一般试题解析:14.以下代码输出的结果是?()foriin"Python":p;continuePrint(i,end="")A、PyhnPythonC、PytD、Pytho题型:单选题答案:A难度:一般试题解析:COntinUe的意思是“继续,所以可以理解为:跳过本次循环的剩余代码,但循环还要继续运行15. 对于字典dic=l:2,3:dsexU4:fNo,L,nameTMike),lan(dic)的值是?()A、3B、4C、5D、6题型:单选题答案:B难度:一般试题解析:16. 对于元组tup=(l,2,3,4,5)执行的操作非法的是?()A、len(tup)Bxma×(tup)C、min(tup)D、tupl=6题型:单选题答案:D难度:一般试题解析:17.水果店促销每斤苹果5元,如果购买六斤及六斤以上还可以打八折,小红去买苹果,下面的哪一个的Python程序语句可以帮小红算一下她买苹果得花多少钱(具体购买斤数由小红输入)?()A、x=input("请输入斤数:")ifx<6:y=5*xelse:y=5*x*0.8print(y)B、x=eval(input("请输入斤数:")ifx<6:y=5*xelse:y=5*x*0.8prit(y)C、x=eval(input("请输入斤数:")ifx<6:y=5*x*0.8else:y=5*xprit(y)D、x=input("请输入斤数:")ifx<6:y=5*x*0.8else:y=5*xprit(y)题型:单选题答案:B难度:一般试题解析:根据题意,当斤数x<6时,钱数y=5*x,否则,y=5*x*0.8,则以下答案正确。x=eval(input("请输入斤数:")#input()输入的是Str类型,不能直接进行计算,所以需要eval()进行转换。ifx<6:y=5*xelse:y=5*x*0.8print(y)18.执行下列代码后,运行结果是?()S="垃圾分类”i=len(s)whilei>=O:print(si-l)i=i-lA、类分圾垃B、垃圾分类C、垃圾分类垃D、类分圾垃类题型:单选题答案:D难度:困难试题解析:掌握字符串长度函数的使用,理解元素索引值的变化19 .在列表a中存放1-100之间所有的奇数,可以有多种方法,以下哪种方法是错误的?()Aa=list(range(lz100,2)Ba=range(lz101z2)C、a=i=lwhilei<100:a.append(i)i+=2Dna=foriinrange(10,2): a.append(i)题型:单选题答案:B难度:一般试题解析:range20 .若li=list(range(l,10,2),则Print(三)的结果是?()A、0,2,4,6,8,10B、1,357,9C、1,2,3,4,5,6,7,8,9,10D、024,6,8题型:单选题答案:B难度:一般试题解析:掌握range函数以及list类型转换函数的使用21 .已知a=忖网,b=7,8,9,如果c=a*2+b,那么列表C是?()A>,a7b7a'b,8,9B、'a','b',2,7,8,9C.'ab,z7,8,9a7b,D、'a','b','a','b',7,8,9,7,8,9题型:单选题答案:A难度:一般试题解析:本题知识点是列表的连接和重复列表元素,根据题意A选项是正确答案22 .己知a=U,2,3,4,5,6,7,则a0:2的的值是?()A、1,2,3,4,5,6B、234,5,6C、【1,2,34,5D、2,3,4,5题型:单选题答案:C难度:一般试题解析:本题的知识点是列表的通用操作,访问指定索引范围,按题目的意思是访问第一到倒数第二个元素(但不包含倒数第二个),所以选择C23 .以下语句不正确的是?()Adict=la,Ba='name,bob,C、e=l:'篮球,D、c='school?精英小学,题型:单选题答案:C难度:一般试题解析:定义字典时,键和值是文本时,需要使用引号。字典键不可以使用列表24 .关于break的作用,以下说法正确的是?()A、按照缩进跳出当前层语句块B、暂停该语句后面的循环内容,跳转到循环开始位置开始下一轮循环C、跳出当前层for/while循环D、跳出所有for/while循环题型:单选题答案:C难度:容易试题解析:25 .若s=(la,z2),则Ien(三)的值为?()A、错误B、2C、3D、4题型:单选题答案:C难度:一般试题解析:理解元组的元素,掌握求元组长度的函数二、判断题(共10题,每题2分,共20分)26 .while循环和for-in循环一样,都明确了循环的次数。题型:判断题答案:错误难度:一般试题解析:WhiIe循环时条件循环27 .可以使用“+和”,来连接与删除字符串。题型:判断题答案:错误难度:一般试题解析:字符串的运算28 .不同类型的元素可以存储在同一个列表中。题型:判断题答案:正确难度:容易试题解析:29 .循环结构中的continue语句的功能是中断当前循环的执行,进入下一轮循环条件是否满足的判断。题型:判断题答案:正确难度:一般试题解析:循环结构中的break语句的功能是中断当前循环的执行,跳出循环结构;continue语句的功能是中断当前循环的执行,进入下一轮循环条件是否满足的判断。因此,说法正确。30 .ESC可以用于Python跳出循环。题型:判断题答案:错误难度:一般试题解析:break语句可以跳出for和while的循环体。如果你从for或while循环中终止,任何对应的循环else块将不执行。continue语句被用来告诉Python跳过当前循环块中的剩余语句,然后继续进行下一轮循环。31 .按照顺序执行下面的代码,以下命令都是合法的。IiStl=1,2,3listl2=4tuplel=(l,2z3)tuplel0=0题型:判断题答案:错误难度:一般试题解析:32 .Python列表、元组、字典都属于有序序列,都可以用索引进行访问。题型:判断题答案:错误难度:容易试题解析:字典是映射,不是序列33 .messagel='Hello,则messagel.append(,world')ft6'Helloworld'<.题型:判断题答案:错误难度:一般试题解析:34 .元组一旦创建,其中的元素就不能再被修改了。题型:判断题答案:正确难度:一般试题解析:理解PythOn中的元组的概念的特点35 .运行以下程序,结果是一条由9行单个的#组成的图案。i=0whilei<10: i=i+l printf#')题型:判断题答案:错误难度:一般试题解析:应该是10个#三、编程题(共2题,共30分)36.日期转换编写一个程序,实现用户输入一个日期,格式为“月/日/年“,如输入P5/21/2021T程序输出日期为'May21,2021、1至12月的英文名称如下:JanuaryFebruary,March,ApribMay,June,July,August>September,October,November,Decembero题型:编程题答案:参考程序:#说明:程序仅供参考,考生可以有多种解决方法。datestr=input('Enteradate(mm/dd/yyyy):') monthstr,daystr,yearstr=datestr.split(,/')months='January7February,'March,ApriMay'JuneJuly7August,September,October7November,'December',"monthstr=monthsint(monthstr)-lprint(,Thedateis+monthstr,daystr+,zyearstr)难度:一般试题解析:评分细则:1)定义一个变量接受输入的日期;(1分)2)能够把年月日分离出来;(3分)3)把输入的月份转变为英文名称(原题已给出每个月的英文名称,所以如果程序中的英文名称错误,有一处错误扣0l分);(4分)4)输出转换后的结果。(2分)37.图形的循环美设计一个海龟绘图程序,程序效果如下图(要求:海龟从里往外绘制图形,线条初始长度为20,相邻两条边相差4(每一个线条均比前一个线条长4),线条颜色为红色,总共边数至少80条以上(为了便于程序调试,建议不超过120条)。题型:编程题答案:参考程序:importturtleturtle.pencolor("red")turtle.speed(6)length=20jd=90i=lwhilei<=100: turtle.forward(length) turtle.left(jd) length=length+4 i=i+lturtle.done()难度:一般试题解析:评分细则:1)导入海龟模块(2分)2)设置画笔颜色(2分)3)设置初始长度20(2分)4)实现80次以上的循环设计(6分)5)实现每次线条长度加4(3分)6)实现程序效果(5分)