2022.03全国青少年软件编程(Python)等级考试试卷(二级)

2022.03全国青少年软件编程(Python)等级考试试卷(二级)


2024年1月13日发(作者:)

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二口35乙9]的是?()(9)a=[l,3,5,7,9](4,9)

A. a[4]=9.关于以下代码段的说法错误的选项是?()B a = [1, 2, 5, 4, 3](reverse=True)

print(a)A. (reverse=True)语句中的 reverse 默认值为 False。

B.省略(reverse=True)语句中的reverse=True,代码运行结果不变。

C.将以上代码的(reverse二True)改为a二sorted(a,reverse二True),代码运行结果和原题的

结果一样。

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,所以新输出的a为70, b为80,选择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:

(m+n)print(ls)「想念,广家人”]「想想,”念念家人”]

A. 「想家想人念家念人”]「想家"想人念家"念人”]8.以下程序的输出结果是?()A比二「绿茶。乌龙茶。红茶。白茶。黑茶

Is = ()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],那么 ('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)).

,,,,,,,111. 小张的爸爸每个月都有绩效工资,绩效工资根据业绩被分为1200、1400和1600三个等级,

小张把爸爸每个月的绩效工资都记录在了一个money的列表中,如何能快速得到小张爸爸 得到1600元绩效的次数?()(1600)(1600)

A. (1600)D. (0,1600)试题解析:

检索某个元素第一次出现元素下标(x)>统计元素出现的次数(x), (x) 删除第一个匹配值,插入元素(i,x)。根据题意,需要知道1600在列表中出现的次数 即

(1600)oname=('Jerry',),那么 name 的数据类型是?( )BA.字符串B.元组

C.列表D.其他类型试题解析:此题需要特别注意的就是name=(lJerry,/),如果没有这个“,”,那么就是str 类型,但是有“,",就是tuple类型。

14. dl=f学科当语文)班级丁2班最高分?99}d2=f学科,:'数学班级,”班,最高分400}(d2)print(dl)

以上代码的运行结果为?()C{学科丁语文用班级T2班?最高分!99}{学科写语文班级¥2班「最高,

分':100}C.(学科写数学周班级,:12班最高分':100}

D. {学科T数学,「班级T2班与最高分,:99}试题解析:

字典(Dictionary) update。函数把字典dict2的键/值对更新到diet里。

语法:(dict2) 根据题意d2更新到了 dl里,所以答案为(学科?数学?班级丁2班?最高分400}。

16.小明用一个字典d={,语文,:88「数学!92「英语T961来储存他的期末考试成绩。那么小明的总 分是?()AA.

s=0for i in ():

s=s+int(i)print(s)B.

s=0s=sum((())print (s)C.

s=0while i

s=s+int(())print (s)D.

s=0for i in d():

s=s+int(())

print (s)试题解析:

根据题意,我们需要遍历字典中左右的值,然后进行累加计算。所以s=0for i in

。:#遍历字典中的值

s=s+int(i)#转换成int类型并进行累加print (s)其他答案:

s二sum((())#sum()不支持类型,而且还少了一个后括号。

while i

s=0for i in range(l,10): s=s*iprints)B.

s=0for i in range(l,9): s=s*iprints)C.

s=lfor i in range(l,10): s=s*iprint

⑸D.

s=lfor i in range(l,9): s=s*iprint(s)试题解析:

根据题意,我们可以通过for循环实现累乘。

正确答案:

s=lfor i in range(l,10): s=s*iprint(s)注意:1、因为是累乘,所以s的初值不能为0,否那么0乘以任何数都是0,最终结果也是 0.

2、range(start, stop[, step]),计数到 stop 结束,但是不包括 stop。所以 range(lJO)包含了从 1 到9这九个数。

17 .执行以下代码后,运行结果是?()Dd={'T:l,223:3,4:4} b=d b['2']=5print(d[2]+b[2])4

A. 571019.假设 dic_color="ecT:'红色'「green':'绿色'「gold':'金色'「brown':‘棕色'「purple':'紫色'},以下选 项中能够输出‘金色'的是?()A

A. print(dic_color['gold'])print(dic_color['金色'])print(dic_color[2])print(dic_[2])

试题解析:字典的基本操作,按键取值.以下程序执行的结果是?()Ba=0b=5

Sum=0for i in range(3):

if a>0:

Sum+=aa+=l

elif b>l:

Sum+=ba+=l b+=lprint(Sum)7

A. 91112.想得到的输出为,'My name is Kevin and I am 10 years old."以下选项正确的选项是?()B

('Myname is%s andIam%d years old.,^CKevin^lO))print('Myname is%s andIam%d years

old.'%('Kevin',10))print('Myname is%c andIam%d years old.'%('Kevin,10))print('Myname is%s

andIam%d years ',%10))

22.编写一段猜密码程序,只允许猜三次,当猜中密码时,提示“密码正确”,程序退出。 当输入密码错误时,提示“密码错误”,并提示剩余次数。程序空白处应填写的条件是?()Aabc>0abc>=0abc==0

A. abc!=323.a=list(range(10)),执行以下指令后,a的值会变成?()Aa[:2]=[5](5)

(5)[2, 3, 4, 5, 7, 8, 9][2, 3, 4, 7, 8, 9][2, 3, 4, 6,7, 8, 9]

A. [5,2, 3, 4, 5,7, 8, 9]试题解析:此题是列表通用操作的综合运用,第一条指令是将前两个元素替换成一个5,变 成[5, 2, 3, 4, 5, 6, 7, 8, 9], ⑸是删除第6个元素6,最后一条指令是删除第一个5,所以 选择A24.以下选项中,不能用于表示分支结构的python函数是?()Cif

A. elseinelif试题解析:ABD都是分支结构保存字,只有C不是

if i%2 == 0:

print(i) 运行结果为?()C13 579147C. 2468

D. 2 5 79试题解析:for循环和分支结构的综合应用,根据题意,依次输出1・9中是2的倍数的数字,二、判断题(共10题,共20分). Money=8.6675 , print("工资{0:.2f}".format(Money)),结果是:”工资 8.67".()Y

26 .在使用format。函数对字符串进行格式化时,参数索引从1开始.()N. while语句只能用于未知次数的循环,for语句只能用于循环次数己知的循环.()N. t=(l/2,3A2),那么

print(⑵)的运行结果为 L()Y试题解析:检索某个元素第一次出现元素下标(x)

元组的索引号从0开始,所以元素2的索引号为1.

25.执行以下程序 a=range(l,10)for i in a:

27 .假设 s=(l,234,5),那么执行 ⑸语句后,s 的值是(1,2,3,4).()N试题解析:s是元组,元组一旦创立不能被修改删除. Python语言用缩进来标识语句块,同一级语句块中的语句具有相

同的缩进量.()丫试题解析:知道语句块缩进

28 .表达式⑶in [123]的值为True.()N试题解析:理解in运算符的作用. break语句执行后,将跳出程序所有的循环,程序结束.()N试题解析:break语句只跳出本层循环。

29 .字典中的键和值必须用冒号隔开,同一个字典中的所有键都必须是唯一的.()丫.以下程序的运行结果为5 Na=6b=5

if a>b:

print(a)else:

print(b)试题解析:运行结果为6


发布者:admin,转转请注明出处:http://www.yc00.com/news/1705095092a1392960.html

相关推荐

发表回复

评论列表(0条)

  • 暂无评论

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信