2022. 03青少年软件编程(Python)等级考试试卷(二级)分数:100 题数:37一、单项选择题(共25题,每题2分,共50分).关于Python中的列表,以下描述错误的选项是?() D
A.列表是Python中内置可变序列,是假设干元素的有序集合;B.列表中的每一个数据称为“元素”;C.Python中,一个列表中的数据类型可以各不相同;D.可以使用s[l]来获取列表s的第一个元素。
1.列表a=[135,7],以下语句无法将a变成三八节的祝福语大全a二口359]的是?()Da.append(9)a=[l,3,5,7,9]a.insert(4,9)
A.a[4]=9.关于以下代码段的说法错误的选项是?()B a = [1, 2, 5, 4, 3]a.sort(reverse=True) print(a)A. a.sort(reverse=True)语句中的 reverse 默认值为 False
B.省略a.sort(reverse=True)语句中的reverse=True,代码运行结果不变。
C.将以上代码的a.sort(reverseTrue)改为asorted(a,reverseTrue),代码运行结果和原题的 结果一样。
D.以上代码运行结果为:[5, 4, 3, 2, 1] o.下面程序的运行结果是?()Ca=80b=70
if a>b:
a,b=b,a
print(a,b)70 7080 7070 80
A.80 80试题解析:条件语句的运用,代码的意思是当a>b时,ab两个数互换,然后输出新的值。日韩服饰搭配
三、编程题(共2题,共30分)36.实现统计字符串中的单词和单词出现的次数:
要求如下:
(1)统计的语句为:to be or not to be that is a question
2)要求统计该句中出现的所有单词和其出现次数。
(3)使用字典进行输出,格式如下(注意:排列顺序可以不一致,但是统计的次数要正确):
{'to1: 2, 'be1: 2, 'or1:1, 'not': 1, 'is': 1, 'a': 1, 'question': 1, 'that': 1}试题编号:20210120-zy-37试题类型:编程题标准答案:
参考程序:
string = "to be or not to be that is a question"#定义变量存储字符串心二$仃地印用"")#使用分割函数将字符串转为列表count={}#定义一个空字典for x in lis:#遍历列表
if x not in count:#判断列表元素是否在字典中count[x]=l
else:
count[x]+=lprint(count)# 打印字典试题难度:较难试题解析:
评分标准:
1能正确存储字符串;2分)
2)能使用分割函数将字符串转为列表(或者其他序列及可迭代对象均可);3分)
3)创立字典;2分)
4)有循环遍历列表(或迭代对象);3分)
5)判断列表(或可迭代对象)元素是否在字典中;(3分)
6)输出格式正确;2分)
7)代码执行完全正确无误。5分)此题需要用到字符串的基本操作,字典,条件判断,循环等知识。
展示地址:点击浏览考生答案:(此题已作答)考生得分:5是否评分:已评分
评价描述:
37.可以对任何一个自然数进行假设干次运算,最终都可以变为1
运算规那么如下:
(1)假设该数是偶数,那么变为原数的一半;
2)假设该数是奇数,那么变为原数的3倍加1
(3)重复1) (2),直到该数变为1
编写程序实现如下功能:输入一个大于1的自然数,计算按照上述方法最终变换为1共经过 的变换次数,并输出变换次数。(输出格式为:直接输出次数即可)例如1假设输入自然数8,那么输出结果为:3o例如2假设输入自然数5,那么输出结果为:5o试题编号:20210216-fjn-21
试题类型:编程题标准答案:
参考程序:
x=int(input("请输入自然数:”))count=0while x!=l:
if x%2==0:
x=x//2
else:
x=3*x+l
count=count+lprint(count)试题难度:较难试题解析:
评分标准:
1有循环语句:1分,使用得当:1分;合计2
2)有循环条件:1分,循环条件正确:2分;合计3
3)有条件判断语句:1分,条件判断语句正确1分;合计2
4)有输入语句并且使用正确:1
5)有输出语句:1
6)结果正确:1分展示地址:点击浏览考生答案:(此题已作答)考生得分:9
是否评分:已评分评价描述:
80>70,所以新输出的a70, b80,选择C.以下关于元组的描述正确的选项是?()CA.元组和列表相似,所有能对列表进行的操作都可以对元组进行B.创立元组时,假设元组中仅包含一个元素,在这个元素后可以不添加逗号
C.元组中的元素不能被修改D.多个元组不能进行连接.本兮没死以下程序的输出结果是?英语二级考试()Btuplel = (l/2,3)
tuple2 = (2)print(tuplel*tuple2)(1,2,3)(1,23,1,2,3)
A.(2,4,6)D.报错7.以下代码的输出结果是?()Dls = []
for m in '想念':
for n in 1 家人1:
ls.append(m+n)print(ls)「想念,广家人”]「想想,”念念家人”]
A.「想家想人念家念人”]「想家"想人念家"念人”]8.以下程序的输出结果是?()A比二「绿茶。乌龙茶。红茶。白茶。黑茶
Is = Itls.clear()print(lt)A.[]
B.变量未定义的错误「绿茶'「乌龙茶/红茶白茶,「黑茶,]绿茶。,乌龙茶,「红茶白茶,「黑茶’9.下面代码的输出结果是?()B
listl = [1,2,3]Iist2 = [4,5,6]print(listl+list2)[4,5,6]
A.[1, 2, 3, 4, 5, 6][1,2,3][5,7,9]10.字符串str="maixnm”包含“min”“max”两个单词,下面哪个操作不能将"min”从中出 来?(2
A.strl=str[0]+str[2]+str[4]strl=str[0:-l:2]strl=str[::2]strl=str[0:4:2]
试题解析:此题考点是字符串的通用操作,根据访问指定索引范围,我们应该得到答案为Dcat=[,fat',,black,/cloud,],那么 cat.index('black')的值为?( )A12
A.303年级2班的学生花名册被存储在一个列表name中,如何快速得到该班级学生的总人 数?()BA. print(sum(name))
B. print(len(name))C. print(min(name))D. print(max(name))试题解析:
获取序列长度len(s)、获取最值max(s) min(s)、统计总和sum(s),根据题意,我们是要获取列 表的长度,所以print(len(name)).
11.小张的爸爸每个月都有绩效工资,绩效工资根据业绩被分为1200、1400和1600三个等级, 小张把爸爸每个月的绩效工资都记录在了一个money的列表中,如何能快速得到小张爸爸 得到1600元绩效的次数?()Bmoney.index(unt(1600)
A.ve(1600)D. money.insert(0,1600)试题解析:
检索某个元素第一次出现元素下标s.index(x)>统计元素出现的次数s.count(x), s.remove(x) 删除第一个匹配值,插入元素s.insert(i,x)。根据题意,需要知道1600在列表中出现的次数 即 unt(1600)oname=('Jerry',),那么 name 的数据类型是?( )BA.字符串B.元组
C.列表D.其他类型试题解析:此题需要特别注意的就是name=(lJerry,/),如果没有这个“,”,那么就是str 类型,但是有“,",就是tuple类型。
14.dl=f学科当语文)班级丁2班最高分?99}d2=f学科,:'数学班级,”班,最高分400}dl.update(d2)print(dl)
以上代码的运行结果为?()C{学科丁语文用班级T2班?最高分!99}{学科写语文班级¥2,「最高分':100}C.(学科写数学周班级,:12班最高分':100}
D. {学科T数学大连日本料理,「班级T2班与最高分,:99}试题解析:
字典(Dictionary) update。函数把字典dict2的键/值对更新到diet里。
语法:dict.update(dict2) 根据题意d2更新到了 dl里,所以答案为(学科?数学?班级丁2班?最高分400}
16.小明用一个字典d={语文,:88「数学!92「英语T961来储存他的期末考试成绩。那么小明的总 分是?()AA.
s=0for i in d.values():
s=s+int(i)print(s)B.
s=0s=sum((d.values())print (s)C.
s=0while i<len(d):
粉丝摔碎许凯手机
s=s+int(d.values())print (s)D.
s=0for i in d():
s=s+int(i.values())
print (s)试题解析:
根据题意,我们需要遍历字典中左右的值,然后进行累加计算。所以s=0for i in d.values。:#遍历字典中的值
s=s+int(i)#转换成int类型并进行累加print (s)其他答案:
ssum((d.values())#sum()不支持d.values类型,而且还少了一个后括号。
while i<len(d):#i 未被定义for i in d():#遍历字典的方式不对.如果要计算1*2*3*4*5*6*7*8*9那么以下程序代码正确的选项是?()CA.
s=0for i in range(l,10): s=s*iprints)B.
s=0for i in range(l,9): s=s*iprints)C.