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

分数:100  题数:37

一、单选题(共25题,共50分)

1.      老师要求大家记住四大名著的作者,小明机智地想到了可以用字典进行记录,以下哪个选项的字典格式是正确?( )

A.             ['曹雪芹':'红楼梦', '吴承恩':'西游记', '罗贯中':'三国演义', '施耐庵:'水浒传']

B.              {'曹雪芹'-'红楼梦', '吴承恩'-'西游记', '罗贯中'-'三国演义', '施耐庵-'水浒传'}

C.              {'曹雪芹':'红楼梦'; '吴承恩':'西游记'; '罗贯中':'三国演义'; '施耐庵:'水浒传'}

D.             {'曹雪芹':'红楼梦', '吴承恩':'西游记', '罗贯中':'三国演义', '施耐庵':'水浒传'}

试题编号:20240112-wy-007

试题类型:单选题

标准答案:D

试题难度:一般

试题解析:字典是用大括号括起来的,排除 A;字典中键值对中间是冒号,排除B,字典每个键值对之间,要用逗号隔开,排除 C

考生答案:D

考生得分:2

是否评分:已评分

评价描述:

2.      已知列表a = [11,222, 333 ,4444],以下能输出333的代码是?( )

A.             print(a[-1])

B.              print(a[3])

C.              print(a[333])

D.             print(a[2])

试题编号:20240112-zms-008

试题类型:单选题

标准答案:D

试题难度:一般

试题解析:列表的索引是从0开始,如果是反索引,则是从-1开始,所以本题的答案为D

考生答案:D

考生得分:2

是否评分:已评分

评价描述:

3.      已知字符串str1 = 'welcome to China',word = 'some',查询word在str1中首次出现的位置,以下代码正确的是?( )

A.             print(str1.index(word))

B.              print(str1.find(word))

C.              print(str1.find(str1, word))

D.             print(str1.index(str1, word))

试题编号:20240112-zms-018

试题类型:单选题

标准答案:B

试题难度:一般

试题解析:字符串查找2个函数:find、index的区别。find找到则返回位置,未找到返回-1,index未找到会报错

考生答案:D

考生得分:0

是否评分:已评分

评价描述:

4.      已知 stu = ["Jim","Lucy","Tom","Jane"],则执行 stu[2]="Jun",stu 的值是哪一个?( )

A.             ["Jun","Lucy","Tom","Jane"]

B.              ["Jim","Lucy","Jim","Jun"]

C.              ["Jim","Lucy","Jun","Jane"]

D.             ["Jim","Jun","Tom","Jane"]

试题编号:20240129-wqj-006

试题类型:单选题

标准答案:C

试题难度:一般

试题解析:本题考察的实列表的赋值,stu[2]="Jun"是将第三个元素修改为Jun,所以选C。

考生答案:C

考生得分:2

是否评分:已评分

评价描述:

5.      哪个选项是程序设计的三种基本结构?( )

A.             顺序结构、跳转结构、循环结构

B.              顺序结构、循环结构、分支结构

C.              过程结构、对象结构、函数结构

D.             过程结构、循环结构、分支结构

试题编号:20240129-wqj-032

试题类型:单选题

标准答案:B

试题难度:一般

试题解析:程序设计的三种基本结构是顺序结构、分支结构和循环结构。

考生答案:B

考生得分:2

是否评分:已评分

评价描述:

6.      s = 8

while s > 1:

    print(s)

    s = s/2

上述程序的s输出了几次?( )

A.             8

B.              3

C.              4

D.             2

试题编号:20240129-wqj-034

试题类型:单选题

标准答案:B

试题难度:较难

试题解析:当型循环,当s>1时,执行循环体,否则跳出循环。s的结果是8、4.0、2.0

考生答案:C

考生得分:0

是否评分:已评分

评价描述:

7.      哪个选项不是Python程序分支结构的保留字?( )

A.             if

B.              elif

C.              else

D.             try

试题编号:20240129-wqj-035

试题类型:单选题

标准答案:D

试题难度:一般

试题解析:try是异常处理的保留字。

考生答案:D

考生得分:2

是否评分:已评分

评价描述:

8.      运行下列代码,终端区打印的结果是?( )

dic={'qq':26453343,'weixin':35345749,'qq':394594540,'face':979789490}

print(dic['qq'])

A.             'qq':26453343

B.              'qq':394594540

C.              394594540

D.             26453343

试题编号:20240206-zlj-022

试题类型:单选题

标准答案:C

试题难度:一般

试题解析:字典中,如果同一个键出现两次,则后一个值会被记住;print(dic['qq'])是输出键'qq'对应的值。故正确答案为C。

考生答案:D

考生得分:0

是否评分:已评分

评价描述:

9.      以下选项中,创建了只含有1个元素的元组的是?( )

A.             t=(2025,)

B.              t=(2025)

C.              t={2025}

D.             t=[2025]

试题编号:20240207-lxq-011

试题类型:单选题

标准答案:A

试题难度:一般

试题解析:

在python中,元组的创建可使用小括号()。当元组中只有一个元素时,元素后面必须添加一个逗号,否则创建的不是元组。

考生答案:A

考生得分:2

是否评分:已评分

评价描述:

10.   tup1=('物理','化学','政治')

tup1[2]='生物'

print(tup1)

以上程序运行的结果是?( )

A.             ('物理','化学','政治','生物')

B.              ('物理','化学','生物')

C.              终端区会报错

D.             ('物理','生物','政治')

试题编号:20240207-lxq-012

试题类型:单选题

标准答案:C

试题难度:一般

试题解析:

元组中的元素在创建时就固定了,不能改变。

考生答案:C

考生得分:2

是否评分:已评分

评价描述:

11.   for i in (1,2,3,4,5,6,7,8,9,10):

    if i==4:

        continue

    print(i,end=",")

以上程序运行的结果是?( )

A.             1,2,3,4,5,6,7,8,9,10

B.              1,2,3,5,6,7,8,9,10

C.              1,2,3

D.             1,2,3,5,6,7,8,9,10,

试题编号:20240207-lxq-030

试题类型:单选题

标准答案:D

试题难度:一般

试题解析:

for循环可以遍历任何序列的项目,如列表、元组。在循环语句中,continue语句是跳过当前循环,进入下一个循环。最终,通过print()按照小括号指定格式输出。

考生答案:B

考生得分:0

是否评分:已评分

评价描述:

12.   以下程序段运行的结果是?( )

ls=[23,19,30,87,42,58,99,14]

ls.insert(-2,6)

A.             [23, 19, 6, 30, 87, 42, 58, 99, 14]

B.              [23, 19, 30, 87, 42, 58, 6, 99, 14]

C.              [23, 19, 30, 87, 42, 58, -2, 99, 14]

D.             [23, 19, 30, 87, 42, 58, 99, 6, 14]

试题编号:20240211-dzj-006

试题类型:单选题

标准答案:B

试题难度:一般

试题解析:ls.insert(-2,6)第一个参数-2(倒数第二个)表示待插入元素的索引,第二个参数6表示待插入元素。

考生答案:D

考生得分:0

是否评分:已评分

评价描述:

13.   小明在数学课上学习了如何计算长方形的面积。现在,他有一个长为6厘米,宽为4厘米的长方形。如果他用Python来表示这个长方形的长和宽,并且想要保证这些数据不能被修改,下面哪种数据类型最符合该要求:一旦确立不能被修改?( )

A.             列表

B.              元组

C.              字典

D.             除了元组外都符合

试题编号:20240213-tt-015

试题类型:单选题

标准答案:B

试题难度:一般

试题解析:元组具有不可修改的性质。

考生答案:B

考生得分:2

是否评分:已评分

评价描述:

14.   小明和朋友们玩一个猜谜语的游戏,每人轮流出一个谜语,直到有人猜对为止。如果这个场景是在Python编程中,下面哪个函数或者命令可以实现有人猜对时直接结束退出循环,应该怎么做?( )

A.             使用if语句检查答案是否正确

B.              使用while循环让每个人轮流出题

C.              使用break语句在猜对时结束游戏

D.             使用continue语句让下一个人出题

试题编号:20240213-tt-028

试题类型:单选题

标准答案:C

试题难度:一般

试题解析:在猜谜语的游戏中,一旦有人猜对,游戏就应该结束。对应Python编程环境就是满足条件退出当前循环,可以通过在猜对时使用break语句来实现。

考生答案:C

考生得分:2

是否评分:已评分

评价描述:

15. 已知列表cities = ['beijing', 'shanghai', 'guangzhou', 'shenzhen'],以下哪个命令可以删除最后一个列表元素'shenzhen'?( )

A.             cities.del()

B.              cities.pop()

C.              cities.remove()

D.             cities.pop(4)

试题编号:20240214-db-001

试题类型:单选题

标准答案:B

试题难度:较难

试题解析:该列表中最后一个元素的索引是3,故选项A的del方法需传入参数索引3,选项D的pop方法需将参数值索引4改为3;选项C的remove方法需传入参数值shenzhen;因此,选项A、C、D均错误;pop()方法无参数时默认删除最后一个元素,故本题正确答案为选项B。

考生答案:C

考生得分:0

是否评分:已评分

评价描述:

16.   已知列表list = ['d','r','a','g','o','n'],执行一次命令list.append('s')后,print(list)的输出结果是?( )

A.             ['d','r','a','g','o','n']

B.              ['s','d','r','a','g','o','n']

C.              [ ]

D.             ['d','r','a','g','o','n','s']

试题编号:20240214-db-005

试题类型:单选题

标准答案:D

试题难度:容易

试题解析:list.append('s')函数的作用是将元素’s’添加到列表list的末尾,故本题答案为选项D。

考生答案:D

考生得分:2

是否评分:已评分

评价描述:

17.   执行语句print("这{1}箱橙子的重量为{0}公斤。".format(5,3)),得到的输出结果是?( )

A.             这3箱橙子的重量为5公斤

B.              这5箱橙子的重量为3公斤

C.              这{3}箱橙子的重量为{5.00}公斤

D.             这3箱橙子的重量为{3.0}公斤

试题编号:20240214-db-018

试题类型:单选题

标准答案:A

试题难度:一般

试题解析:字符串的format()方法格式化输出时,字符串中的槽{}的默认顺序是0、1、2、…, format()参数的顺序也是0、1、2、…,字符串中槽中的数字序号可以改变参数的顺序,本题中槽{1}处对应的参数是3,{0}对应的参数是5,故本题正确答案为选项A。

考生答案:B

考生得分:0

是否评分:已评分

评价描述:

18.   关于字典的描述,下列选项中说法错误的是?( )

A.             字典是一种不可变的复合数据类型

B.              字典中的元素由键值对组成,键值对中键和值由冒号分隔

C.              字典中所有的键值对由{}括起来

D.             字典中的键值对之间用逗号分隔

试题编号:20240218-sbb-0021

试题类型:单选题

标准答案:A

试题难度:一般

试题解析:字典是一种可变的复合数据类型。所以本题正确答案为A。

考生答案:A

考生得分:2

是否评分:已评分

评价描述:

19.   王老师将学生成绩存入字典score中,score = {'语文': 90, '数学': 99, '英语': 99},则执行print((score['语文']+score['数学']+score['英语']) // 3),输出结果为?( )

A.             96.0

B.              96

C.              1.0

D.             1

试题编号:20240218-sbb-0022

试题类型:单选题

标准答案:B

试题难度:较难

试题解析:本题是计算三个科目的整数平均分,通过字典中的键可以访问值,即90+99+99的和整除3,结果为96。所以本题正确答案为B。

考生答案:A

考生得分:0

是否评分:已评分

评价描述:

20.   学校要举办运动会,列表 list1 = ["短跑", "篮球", "跳远", "足球", "跳绳"] 中保存了可以参加的项目,小明想报名参加足球,下面哪一项可以打印出足球?( )

A.             print( list1[0] )

B.              print( list1[2] )

C.              print( list1[3] )

D.             print( list1[4] )

试题编号:20240218-zw-003

试题类型:单选题

标准答案:C

试题难度:容易

试题解析:列表的索引是从0开始的。

考生答案:C

考生得分:2

是否评分:已评分

评价描述:

21.   小红是一名爱好广泛的小学生,为了方便记录,她将自己三个爱好按喜欢程度保存在列表list1中,list1 = ["舞蹈", "画画", "陶艺"],最近她迷上了编程,想把第一爱好舞蹈修改为编程,下面是她写的程序,请你选出能实现此功能的程序?( )

A.             list1[1] = "编程"

B.              list1[2] = "编程"

C.              list1[3] = "编程"

D.             list1[0] = "编程"

试题编号:20240218-zw-005

试题类型:单选题

标准答案:D

试题难度:容易

试题解析:要修改的列表元素,下标为0。

考生答案:D

考生得分:2

是否评分:已评分

评价描述:

22.   你的生日马上就要到了,为此你准备办一个生日聚会。你列出了想要邀请的好友名单,并保存在列表中,list_name = ['黄梓熙', '江伊洛', '徐彤彤', '吴雨萱', '罗兰妮', '李雪婷', '李婉茹', '王嘉怡', '李璐瑶'],妈妈为你准备生日蛋糕,需要统计你邀请的总人数,下列哪一项可以实现此功能?( )

A.             changdu(list_name)

B.              length(list_name)

C.              len(list_name)

D.             size(list_name)

试题编号:20240218-zw-008

试题类型:单选题

标准答案:C

试题难度:容易

试题解析:len()命令可以求列表的长度。

考生答案:C

考生得分:2

是否评分:已评分

评价描述:

23.   小明班里有40名同学,老师需要按照从小到大顺序打印出每名同学的编号,他使用学过的range()函数编程完成此任务,请问下面小明编写的哪一个程序可以实现此功能?( )

A.             for value in range(1, 39):

    print(value)

B.              for value in range(1, 40):

    print(value)

C.              for value in range(1, 41):

    print(value)

D.             for value in range(1, 42):

    print(value)

试题编号:20240218-zw-010

试题类型:单选题

标准答案:C

试题难度:容易

试题解析:range()命令中的第二个参赛表示的是结束的整数,但是不包括该整数,因为题目中有40名同学,而且开始是从1开始,那么最后一个数字应该是40.所以选C。

考生答案:C

考生得分:2

是否评分:已评分

评价描述:

24.   下面哪一个程序可以实现:使用for循环打印出3-30内能被3整除的所有数?( )

A.             for i in range(1,30,3):

    print(i)

B.              for i in range(1,30):

    print(i)

C.              for i in range(3,30):

    print(i)

D.             for i in range(3,31,3):

    print(i)

试题编号:20240218-zw-027

试题类型:单选题

标准答案:D

试题难度:困难

试题解析:range语句三个参数分别表示:起始位置、结束位置(不含该整数)、步长;根据题意,选D符合要求

考生答案:D

考生得分:2

是否评分:已评分

评价描述:

25.   下列关于字符串(string)的说法,错误的是?( )

A.             字符串(string)就是一系列字符,我们可以使用引号( ' 或 " )来创建字符串

B.              三引号(""")允许一个字符串跨多行,字符串中可以包含换行符、制表符以及其他特殊字符

C.              使用count(str)方法,可以统计字符串里某个字符出现的次数

D.             使用len(string)方法,可以转换字符串中所有大写字符为小写

试题编号:20240219-zw-017

试题类型:单选题

标准答案:D

试题难度:容易

试题解析:考察字符串内建函数,len(string) 返回字符串长度。

考生答案:A

考生得分:0

是否评分:已评分

评价描述:

二、判断题(共10题,共20分)

26.   在循环结构中,循环体只要开头和结尾缩进就可以,其他地方不需要缩进。( )

正确        错误         

试题编号:20240129-wqj-027

试题类型:判断题

标准答案:错误

试题难度:一般

试题解析:循环结构中的循环体必须都要缩进。

考生答案:错误

考生得分:2

是否评分:已评分

评价描述:

27.   执行如下代码的运行结果是 CHNA.( )

for c in "CHINA" :

    if c == "I" :

        continue

    print(c, end="")

正确        错误         

试题编号:20240129-wqj-028

试题类型:判断题

标准答案:正确

试题难度:较难

试题解析:continue结束当次循环,继续执行后续次数循环。

考生答案:正确

考生得分:2

是否评分:已评分

评价描述:

28.   列表的数据项不需要是相同的数据类型,可以有整数、浮点数、字符串等,甚至可以是列表、元组和字典,各个元素之间使用分号进行分隔。( )

正确        错误         

试题编号:20240207-lxq-010

试题类型:判断题

标准答案:错误

试题难度:容易

试题解析:

列表的数据元素之间之间使用逗号分隔。

考生答案:错误

考生得分:2

是否评分:已评分

评价描述:

29.   st='悠悠绿水傍林偎,日落观山四望回',如果想打印st的反序字符串:"回望四山观落日,偎林傍水绿悠悠",可以使用语句print(st[::-1])。( )

正确        错误         

试题编号:20240211-dzj-021

试题类型:判断题

标准答案:正确

试题难度:容易

试题解析:列表中[::-1]代表的是从后往前进行步长为-1的切片生成新的列表,实际上就是将原来的文本进行反转。

考生答案:正确

考生得分:2

是否评分:已评分

评价描述:

30.   小明在编写一个游戏程序,每一个关卡为一个独立的无限循环,当玩家的分数达到某个特定值时,游戏会结束当前关卡进入下一关,为完成此功能,小明使用了continue语句来跳过当前关卡,直接进入下一关。小明对Python语句的使用是正确的。( )

正确        错误         

试题编号:20240213-tt-034

试题类型:判断题

标准答案:错误

试题难度:一般

试题解析:错误。在小明的游戏程序中,每个关卡为一个独立的无限循环,continue语句的作用是跳过当前关卡结束后的一些额外处理(比如显示得分、播放动画等),再次进入本关的开始。continue并不会结束整个循环结构(即当前关卡),而是跳过当前迭代中continue语句之后的代码,回到循环的开始处继续下一次迭代(即再次进入本关)。正确的用法应该是分数达到特定值时使用break语句。

考生答案:正确

考生得分:0

是否评分:已评分

评价描述:

31.   while语句和for语句的循环条件后都必须输入冒号,需要循环执行的语句必须有缩进。( )

正确        错误         

试题编号:20240214-db-034

试题类型:判断题

标准答案:正确

试题难度:容易

试题解析:在python程序中,while和for语句循环条件后的冒号用于表示之前的语句是循环判断语句,缩进是为了区分循环体内的语句,这会使得程序代码更有层次和结构感。

考生答案:正确

考生得分:2

是否评分:已评分

评价描述:

32.   当创建的元组中只有一个元素时,需要在元素的后面增加逗号。( )

正确        错误         

试题编号:20240218-sbb-0015

试题类型:判断题

标准答案:正确

试题难度:容易

试题解析:当创建的元组中只有一个元素时,需要在元素的后面增加逗号。如果不加逗号,它就不是元组类型。

考生答案:正确

考生得分:2

是否评分:已评分

评价描述:

33.   有字典price = {'牛奶': '5元', '面包': '6元'},要想将面包的价格改为8元,应该使用price{'面包'} = '8元'。( )

正确        错误         

试题编号:20240218-sbb-0025

试题类型:判断题

标准答案:错误

试题难度:一般

试题解析:要想将面包的价格改为8元,应该使用price['面包'] = '8元'。

考生答案:错误

考生得分:2

是否评分:已评分

评价描述:

34.   元组(tuple)与列表(list)类似,都使用方括号定义,不同点是元组一旦定义,在程序生命周期内内容不可被修改。( )

正确        错误         

试题编号:20240218-zw-011

试题类型:判断题

标准答案:错误

试题难度:容易

试题解析:此题考查元组的概念、特点,以及元组定义的语法,元组定义使用圆括号和逗号,区别于列表定义使用方括号和逗号。

考生答案:错误

考生得分:2

是否评分:已评分

评价描述:

35.   对 str = "A+B+C",执行 str.split("+") 后的结果是['A'+'B'+'C']。( )

正确        错误         

试题编号:20240129-wqj-014

试题类型:判断题

标准答案:错误

试题难度:一般

试题解析:字符串.split()方法的作用是返回一个列表,生成列表的元素是由该方法的参数分隔而成的,列表的元素之间用“,”分隔。

考生答案:正确

考生得分:0

是否评分:已评分

三、编程题(共2题,共30分)

36.   输出字符串中部分字符

编写一段能够输出原字符串中某个字符(如果是多次出现的字符,则为第一次)出现前所有字符的代码。字符输出的方式不限,可以一个一个输出,也可以一起输出;可以一行一个输出,也可以输出在一行,但是必须是指定字符前面的所有字符都要有(包括空格和标点符号)。

要求:

(1)程序运行开始后,用户通过键盘输入截止的单个字符(格式为字符串),提示信息为“请输入截止字符:”;

(2)必须用循环结构;

(3)如果未遇到输入的截止字符,则直接输出原字符串所有内容;

(4)如果遇到输入的截止字符,则终止循环,结束程序;

(5)原字符串需要在程序中明确,为” Reading a good book, like and many noble people talk”,程序中直接引用,无需用户通过键盘输入。

(6)对于多次出现的字符,只需要输出第一次出现截止字符之前的字符;如:输入的截止字符为o,需要输出的字符中必须包含”Reading a g“(含空格)才为正确。

示例:

程序运行后提醒用户输入截止字符;从原字符串的第1个位置起,如果不是刚才输入的截止字符,则输出原字符串中的字符,如果遇到了输入的截止字符,则终止循环,结束程序。

请输入截止字符:a

R

e

友情提示:

1)由于考试平台暂不支持eval()命令,同学们可以选用其他命令;当然如果您使用了,只要程序是正确的,我们阅卷时依然按照正常处理。

2)用户输入语句会在控制台自动输出,不影响评测结果,如下图所示:

试题编号:202503-P2-36

试题类型:编程题

标准答案:

参考程序:

str="Reading a good book, like and many noble people talk"

c=input("请输入截止字符:")

for i in str:

    if i==c:

        break

    else:

        print(i)

试题难度:一般

试题解析:

评分标准:

(1)用input()函数输入截止字符;(2分)

(2)有循环语句(正确使用for或者while);(2分)

(3)使用了if双分支条件语句或两次单分支if进行判断;(2分,两个分支各1分)

(4)使用了break语句;(2分)

(5)未到截止字符前,输出对应字符;(2分)

(6)if条件语句中的条件正确;(2分)

(7)程序运行正常,输出符合题意。(3分)

说明: input()默认读入的为字符串;从原字符串的第1个位置起,到输入的截止字符前为止,故循环枚举原字符串中的每一个字符,需要用if条件语句进行判断其和截止字符是否相同,如果不相同,则输出,继续枚举原字符串的下一个位置;如果if条件语句判断其和截止字符相同,则需执行break语句,中止循环并结束程序。

展示地址:点击浏览

考生答案:(此题已作答)

考生得分:10

37.   学校老师统计了班级学生的成绩单如下,成绩是按照学号从1号到20号:

91,89,92,87,94,97,100,98,92,94,91,90,93,96,98,93,89,95,94,99

请你编写一个成绩查询程序,输入学生学号,打印输出该学生的成绩。

要求:

(1)如果输入的学号在1到20之间(包含1和20),则输出“该学生的成绩为**。”

(2)如果输入的学号不在1到20之间,则输出“该学号不存在!”

友情提示:

由于考试平台暂不支持eval()命令,同学们可以选用其他命令;当然如果您使用了,只要程序是正确的,我们阅卷时依然按照正常处理。

试题编号:202503-P2-37

试题类型:编程题

标准答案:

参考程序:

cj = [91,89,92,87,94,97,100,98,92,94,91,90,93,96,98,93,89,95,94,99]

num = int(input("请输入学生学号:"))

if num >0 and num<21:

    print("该学生的成绩为:",cj[num-1] )

else:

    print("该学号不存在!" )

提示:以上程序仅供参考,只要程序符合要求均可。

试题难度:一般

试题解析:

评分标准:

(1)建立了列表或者元组、字典等,用于保存成绩;(2分)

(2)有输入语句,有提示语;(各1分,共2分)

(3)有数据类型转换,并且转换正确;(2分)

(4)有条件语句;(每个分支1分,共2分)

(5)有输出语句,并且提示语句正确;(每个提示语句1分,共计2分)

(6)学号判断正确;(2分)

(7)程序运行正常,符合题意。(3分)

展示地址:点击浏览

考生答案:(此题已作答)

考生得分:5

是否评分:已评分

更多推荐