2022.03全国青少年软件编程(Python)等级考试试卷(二级)_第1页
2022.03全国青少年软件编程(Python)等级考试试卷(二级)_第2页
2022.03全国青少年软件编程(Python)等级考试试卷(二级)_第3页
2022.03全国青少年软件编程(Python)等级考试试卷(二级)_第4页
2022.03全国青少年软件编程(Python)等级考试试卷(二级)_第5页
已阅读5页,还剩6页未读 继续免费阅读

下载本文档

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

文档简介

2022.03青少年软件编程(Python)等级考试试卷(二级)分数:100题数:37一、单选题(共25题,每题2分,共50分)关于Python中的列表,下列描述错误的是?()D列表是Python中内置可变序列,是若干元素的有序集合;列表中的每一个数据称为“元素”;在Python中,一个列表中的数据类型可以各不相同;可以使用s[1]来获取列表s的第一个元素。已知列表a=[1,3,5,7],下列语句无法将a变成a=[1,3,5,7,9]的是?()Da.append(9)a=[1,3,5,7,9]a.insert(4,9)a[4]=9关于以下代码段的说法错误的是?()Ba=[1,2,5,4,3]a.sort(reverse=True)print(a)a.sort(reverse=True)语句中的reverse默认值为False。省略a.sort(reverse=True)语句中的reverse=True,代码运行结果不变。将以上代码的a.sort(reverse=True)改为a=sorted(a,reverse=True),代码运行结果和原题的结果一样。以上代码运行结果为:[5,4,3,2,1]。下面程序的运行结果是?()Ca=80b=70ifa>b:a,b=b,aprint(a,b)TOC\o"1-5"\h\z7070807070808080试题解析:条件语句的运用,代码的意思是当a>b时,ab两个数互换,然后输出新的值。80>70,所以新输出的a为70,b为80,选择C以下关于元组的描述正确的是?()C元组和列表相似,所有能对列表进行的操作都可以对元组进行创建元组时,若元组中仅包含一个元素,在这个元素后可以不添加逗号元组中的元素不能被修改多个元组不能进行连接以下程序的输出结果是?()Btuplel=(1,2,3)tuple2=(2)print(tuple1*tuple2)(1,2,3)(1,2,3,1,2,3)(2,4,6)报错以下代码的输出结果是?()Dls=[]formin'想念':fornin'家人':ls.append(m+n)print(ls)想念家人想想 念念 家人想家想人念家念人想家 想人 念家 念人以下程序的输出结果是?()Alt=['绿茶','乌龙茶','红茶','白茶','黑茶']ls=ltls.clear()print(lt)[]变量未定义的错误['绿茶','乌龙茶','红茶','白茶','黑茶']绿茶','乌龙茶','红茶','白茶','黑茶’下面代码的输出结果是?()Blist1=[1,2,3]list2=[4,5,6]print(list1+list2)[4,5,6][1,2,3,4,5,6][1,2,3][5,7,9]字符串 包含和两个单词,下面哪个操作不能将 从中找出来?()Dstr1=str[0]+str[2]+str[4]str1=str[0:-1:2]str1=str[::2]str1=str[0:4:2]试题解析:本题考点是字符串的通用操作,根据访问指定索引范围,我们应该得到答案为Dcat=['fat','black','cloud'],则cat.index('black')的值为?()ATOC\o"1-5"\h\z12303年级2班的学生花名册被存储在一个列表name中,如何快速得到该班级学生的总人数?()Bprint(sum(name))print(len(name))print(min(name))print(max(name))试题解析:获取序列长度len(s)、获取最值max(s)min(s)、统计总和sum(s).根据题意,我们是要获取列表的长度,所以print(len(name)).13.小张的爸爸每个月都有绩效工资,绩效工资根据业绩被分为1200、1400和1600三个等级,小张把爸爸每个月的绩效工资都记录在了一个money的列表中,如何能快速得到小张爸爸得到1600元绩效的次数?()Bmoney.index(1600)money.count(1600)money.remove(1600)money.insert(0,1600)试题解析:检索某个元素第一次出现元素下标s.index(x)、统计元素出现的次数s.count(x),s.remove(x)删除第一个匹配值,插入元素s.insert(i,x)。根据题意,需要知道1600在列表中出现的次数即money.count(1600)。name=('Jerry',),则name的数据类型是?()B字符串元组列表其他类型试题解析:本题需要特别注意的就是name=('Jerry',),如果没有这个“,”,那么就是str类型,但是有“,”,就是tuple类型。d1={'学科':'语文','班级':'2班','最高分':99}d2={'学科':'数学','班级':'2班','最高分':100}d1.update(d2)print(d1)以上代码的运行结果为?()C{'学科':'语文','班级':'2班','最高分':99}{'学科':'语文','班级':'2班','最高分':100}{'学科':'数学','班级':'2班','最高分':100}{'学科':'数学','班级':'2班','最高分':99}试题解析:字典(Dictionary)update()函数把字典dict2的键/值对更新到diet里。语法:dict.update(dict2)根据题意d2更新到了d1里,所以答案为{'学科':'数学','班级':'2班','最高分':100}。16.小明用一个字典d={'语文':88,'数学':92,'英语':'96'}来储存他的期末考试成绩。则小明的总分是?()AA.s=0foriind.values():s=s+int(i)print(s)B.s=0s=sum((d.values())print(s)C.s=0whilei<len(d):s=s+int(d.values())print(s)D.s=0foriind():s=s+int(i.values())print(s)试题解析:根据题意,我们需要遍历字典中左右的值,然后进行累加计算。所以s=0foriind.values():#遍历字典中的值s=s+int(i)#转换成int类型并进行累加print(s)其他答案:s=sum((d.values())#sum()不支持d.values类型,而且还少了一个后括号。whilei<len(d):#i未被定义foriind():#遍历字典的方式不对17.如果要计算1*2*3*4*5*6*7*8*9则下列程序代码正确的是?()CA.s=0foriinrange(1,10):s=s*iprint(s)B.s=0foriinrange(1,9):s=s*iprint(s)C.s=1foriinrange(1,10):s=s*iprint(s)D.s=1foriinrange(1,9):s=s*iprint(s)试题解析:根据题意,我们可以通过for循环实现累乘。正确答案:s=1foriinrange(1,10):s=s*iprint(s)注意:1、因为是累乘,所以s的初值不能为0,否则0乘以任何数都是0,最终结果也是0.2、range(start,stop[,step]),计数到stop结束,但是不包括stop。所以range(1,10)包含了从1到9这九个数。18.执行下列代码后,运行结果是?()Dd={T:1,'2':2,'3':3,'4':4}b=db['2']=5print(d['2']+b['2'])TOC\o"1-5"\h\z45710若dic_color={'red':'红色','green':'绿色','gold':'金色','brown':'棕色','purple':'紫色'},以下选项中能够输出'金色'的是?()Aprint(dic_color['gold'])print(dic_color['金色'])print(dic_color[2])print(dic_color.values[2])试题解析:字典的基本操作,按键取值以下程序执行的结果是?()Ba=0b=5Sum=0foriinrange(3):ifa>0:Sum+=aa+=1elifb>1:Sum+=ba+=1b+=1print(Sum)TOC\o"1-5"\h\z791112想得到的输出为 以下选项正确的是?()Bprint('Mynameis%sand I am %dyearsold.',%('Kevin',10))print('Mynameis%sand I am %dyearsold.'%('Kevin',10))print('Mynameis%cand I am %dyearsold.'%('Kevin',10))print('Mynameis%sand I am %dyearsold.'%',Kevin',%10))编写一段猜密码程序,只允许猜三次,当猜中密码时,提示“密码正确”,程序退出。当输入密码错误时,提示“密码错误”,并提示剩余次数。程序空白处应填写的条件是?()Aabc>0abc>=0abc==0abc!=3已知a=list(range(10)),执行以下指令后,a的值会变成?()Aa[:2]=[5]a.pop(5)a.remove(5)[2,3,4,5,7,8,9][2,3,4,7,8,9][2,3,4,6,7,8,9][5,2,3,4,5,7,8,9]试题解析:本题是列表通用操作的综合运用,第一条指令是将前两个元素替换成一个5,变成[5,2,3,4,5,6,7,8,9],a.pop(5)是删除第6个元素6,最后一条指令是删除第一个5,所以选择A以下选项中,不能用于表示分支结构的python函数是?()Cifelseinelif试题解析:ABD都是分支结构保留字,只有C不是执行以下程序a=range(1,10)foriina:ifi%2==0:print(i)运行结果为?()CTOC\o"1-5"\h\z1 35 791 472 46 82 57 9试题解析:for循环和分支结构的综合应用,根据题意,依次输出1-9中是2的倍数的数字,二、判断题(共10题,共20分)已知 工资 结果是:工资在使用format()函数对字符串进行格式化时,参数索引从1开始.()Nwhile语句只能用于未知次数的循环,for语句只能用于循环次数己知的循环.()Nt=(1,2,3,4,2),贝print(t.index⑵)的运行结果为1.()Y试题解析:检索某个元素第一次出现元素下标t.index(x)元组的索引号从0开始,所以元素2的索引号为1.若s=(1,2,3,4,5),则执行s.remove(5)语句后,s的值是(1,2,3,4).()N试题解析:s是元组,元组一旦创建不能被修改删除Python语言用缩进来标识语句块,同一级语句块中的语句具有相同的缩进量.()Y试题解析:知道语句块缩进表达式[3]in[1,2,3]的值为True.()N试题解析:理解in运算符的作用break语句执行后,将跳出程序所有的循环,程序结束.()N试题解析:break语句只跳出本层循环。字典中的键和值必须用冒号隔开,同一个字典中的所有键都必须是唯一的.()Y以下程序的运行结果为5Na=6b=5ifa>b:print(a)else:print(b)试题解析:运行结果为6三、编程题(共2题,共30分)实现统计字符串中的单词和单词出现的次数:要求如下:(1) 统计的语句为:tobeornottobethatisaquestion(2) 要求统计该句中出现的所有单词和其出现次数。(3) 使用字典进行输出,格式如下(注意:排列顺序可以不一致,但是统计的次数要正确):{'to':2,'be':2,'or':1,'not':1,'is':1,'a':1,'question':1,'that':1}试题编号:20210120-zy-37试题类型:编程题标准答案:参考程序:定义变量存储字符串使用分割函数将字符串转为列表count={}#定义一个空字典forxinlis:#遍历列表ifxnotincount:#判断列表元素是否在字典中count[x]=1else:count[x]+=1print(count)#打印字典试题难度:较难试题解析:评分标准:(1)能正确存储字符串;(2分)(2)能使用分割函数将字符串转为列表(或者其他序列及可迭代对象均可);(3分)(3) 创建字典;(2分)(4)有循环遍历列表(或迭代对象);(3分)(5)判断列表(或可迭代对象)元素是否在字典中

温馨提示

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

评论

0/150

提交评论