真题与解析 202403二级 青少年软件编程(Python)考级

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

202403真题与解析

分数:100  题数:37  测试时长:60分钟

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

1.期末考试结束了,全班的语文成绩都储存在列表 score 中,班主任老师请小明找到全班最高分,小明准备用 Python 来完成,以下哪个选项,可以获取最高分呢?( )

A.min(score)

B.max(score)

C.score.max()

D.score.min()

2.已知列表 a = [1,2,3,4,5,6],想输出[2,3,4],可以使用以下哪个语句?( )

A.print(a[2:4])

B.print(a[2:5])

C.print(a[1:4])

D.print(a[0:4])

3.第一小组成员姓名和年龄如下

dic1 = {'张明':12,'李红':12,'王长江':13}

现新增成员龙小勤,年龄为 13,以下代码正确的是?( )

A..dic1['龙小勤'] = 13

B.['龙小勤'] = 13

C.dic1.['龙小勤'] = 13

D.dic1('龙小勤') = 13

4.已知列表 ls = list(range(3,33,3)),则 ls 第 5 个元素是?( )

A.15

B.18

C.21

D.24

5.执行如下代码,tuple 不属于元组的选项是?( )

A.tuple = ()

B.tuple = ('北京')

C.tuple = ('芜湖',)

D.tuple = ('北京', '芜湖', '合肥', '上海')

6.已知 festival = {"正月初一":"春节", "正月十五":"元宵节", "五月初五":"端午节", "八月十五":"中秋节"},则输出 "正月初一" 对应节日的代码是?( )

A.print(del festival["正月初一"])

B.print(festival["正月初一"])

C.print(festival.clear())

D.print(festival[1])

7.已知列表 name=["德丽莎"],运行以下哪段代码,可打印出结果“德丽莎天下

第一可爱!”(不包含双引号)?( )

A.print(name+"天下第一可爱!")

B.print(name[1]+"天下第一可爱!")

C.print(name[0]+"天下第一可爱!")

D.print(name+天下第一可爱!)

8.k为整型,下述 while 循环执行的次数为?( )

k = 20

while k >1 :

print(k)

k=k//2

A.3

B.4C.5

D.6

9.以下程序的输出结果是?( )

ls1=list()

ls2=['吉林','黑龙江','辽宁','东北三省']

ls1+=ls2

ls1.clear()

print(ls1)

A.['吉林','黑龙江','辽宁']

B.['吉林','黑龙江','辽宁','东北三省']

C.终端区会报错

D.[]正确答案:D

10.已知列表 ls=[1, 2, 3, 4, 5, 6, 7, 8, 9, 10],以下哪个选项无法将列表 ls 逆序

排列?( )

A.ls.sort(reverse=True)

B.sorted(ls,reverse=True)

C.sort(ls,reverse=True)

D.sort(ls,reverse=True)

11.已知字典 jd={'哈尔滨':['冰雪大世界','侵华日军第七三一部队罪证陈列馆','太阳岛','中央大街'],'沈阳':['沈阳故宫','辽宁省博物馆','张学良旧居','清昭陵'],'长春':['伪满皇宫博物院','净月潭','长影世纪城','长春一汽']},字典 jd的长度是?( )

A.3

B.4

C.12

D.15

12.以下哪段程序的运行结果无法打印 1-100 之间所有整数的和?( )

A.print(sum(range(1,100)))B.i=1

he=0

while i<=100:

he+=i

i+=1

print(he)

C.he=0

for i in range(1,101):

he+=i

print(he)

D.print(sum(range(1,101)))

13.小明的篮球教练告诉小明,如果他能连续投中 3 次中投,并且换手运球 100次,就可以让他加入球队,请问教练的要求,可以用哪个逻辑运算符来表示?( )

A.or

B.and

C.not

D.!=

14.某小学 1-6 年级都各有 8 个班,将年级和班级数存入如下列表: lst=[['一年级', '二年级', '三年级', '四年级', '五年级', '六年级'], ['1 班', '2 班', '3 班', '4 班', '5 班', '6 班', '7 班', '8 班']] 请问下列选项中能正确打印出 '四年级 6 班'(不含引号) 的字样的是哪一个?( )

A.lst[0][4]+lst[1][5]

B.lst[0][4]+lst[1][6]

C.print(lst[0][4]+lst[1][6])

D.print(lst[0][3]+lst[1][5])

15.如果有一个变量 name = "小明",现在需要另一个变量 str 中使用 name 变量的值,并且想要在这个值后面加上"同学"两个字,应该怎么做?( )

A.str = "同学".add(name).add("同学")

B.str = name + "同学"

C.str = "同学" . name . "同学"D.str = name.append("同学")

16.小明在做数学题,题目要求找出来从 1 数到 100 中不能被 7 整除的数字(即跳过 7 的倍数不显示)。以下哪个 Python 循环可以帮他完成这个任务?( )

A.i = 1

while i <= 100:

if i % 7 != 0:

print(i)

i += 1

B.i = 1

while i >= 100:

if i % 7 != 0:

print(i)

i += 1

C.i = 1

while i <= 100:

if i % 7 == 0:

break

print(i)

i += 1D.for i in range(1, 101):

if i % 7 == 0:

print(i)

else:

continue

17.已知字符串 str="Happy new year",则执行命令 print(list(str))的输出结果是?( )

A.['H', 'a', 'p', 'p', 'y', 'n', 'e', 'w', 'y', 'e', 'a', 'r']

B.[H,a,p,p,y,n,e,w,y,e,a,r]

C.['H', 'a', 'p', 'p', 'y', ' ', 'n', 'e', 'w', ' ', 'y', 'e', 'a', 'r']

D.[H,a,p,p,y, ,n,e,w, ,y,e,a,r]

18.已知元组 tuple = (1,2,3,4,5),以下语句正确的是?( )

A.t = tuple[2]

B.tuple[2] = '6'

C.tuple.append(6)

D.tuple.pop()

19.以下关于字典的说法不正确的是?( )

A.字典中的值不支持索引查询

B.字典以关键字为键,关键字可以是任意不可变数据类型

C.字典里面的值(不是键)可以包含列表和其他数据类型

D.字典是一种有序的对象集合,可以用下标进行访问

20.创建列表时,使用下列哪个符号?( )

A.()

B.[]

C.<>

D.''

21.运行下列程序,要想输出的结果是小明的身高是 1.55。横线处需要填入的代码为?( )

height = 1.55

print('小明的身高是____。' % height)

A.%d

B.%f

C.%.f

D.%.2f

22.关于分支结构的说法错误的是?( )

A.在 Python 中,分支结构一般由 if、elif、else 组成

B.在 Python 中,分支结构一般有单分支结构、双分支结构和多分支结构

C.在 Python 中,分支结构必须包含 else 语句

D.在 Python 中,if 语句后面跟条件表达式

23.春节(Spring Festival),是中国民间最隆重最富有特色的传统节日之一。春节民俗众多,以下列表保存了春节的常见民俗,list_sf = ['喝腊八粥', '祭灶神', '扫尘', '贴春联', '除夕守岁', '吃饺子', '拜年', '逛庙会'],上面民俗中少了非常重要的一项:压岁钱。下列哪一项能将"压岁钱",存入 list_sf 列表中 "吃饺子" 元素的后面?( )

A.list_sf.insert(0, '压岁钱')

B.list_sf.insert(5, '压岁钱')

C.list_sf.insert(6, '压岁钱')

D.list_sf.insert(7, '压岁钱')

24.定义元组 tup1 = ('快乐', '你好', '生日', '中国', '祖国', '祝福'),执行语句:print( tup1[-5] + tup1[3] ),得到的结果是?( )

A.你好祖国

B.生日快乐

C.祝福祖国

D.你好中国

25.下列说法中,错误的是?( )

A.break 语句可以跳出 for 和 while 的循环体

B.如果你从 for 或 while 循环中终止,任何对应的循环 else 块将不执行

C.continue 语句被用来告诉 Python 跳过当前循环中的本次循环,然后继续进行下一次循环

D.Python 中的 for 循环可以使用 else 语句来在迭代完成后执行特定操作。当 for循环正常结束时(没有被 break 或者 return 等提前退出),不会执行 else 语句下面的代码。

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

26.元组中的元素可以是不同的数据类型。( )

27.for 循环能实现的功能,while 循环也可以实现。( )

28.死循环无法退出,没有任何作用。( )

29.通过以下代码,可以访问列表 age 中的每一个元素。( )

age=[15,18,16,19,19]

for it in age:

print(age[it])

30.'ya'*3 的返回值为'yayaya'。类比数学的逆运算,'yayaya'/3 的结果是'ya'。( )

31.在 Python 中,可使用 d1={}的方式,创建一个空字典。( )正确

32.表达式(1,2,3)==(3,2,1)的结果是 True。( )

33.'星期'+4 的结果是'星期 4'。( )

34.条件判断语句 if 's' in 'string':与 if s in 'string':是等效的,结果也一定

是一样的。( )

35.每条 if 语句的核心都是一个值为 True 或 False 的表达式,这种表达式为条件语句。( )

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

36.请编写程序求一个长方形周长和面积的计算器。

要求:(1)用户从控制台输入长和宽(有可能是小数,单位是厘米);

(2)如果用户输入的数不大于 0(不考虑浮点数之外的数据类型),显示信息:“输入有误,请重新输入!”;

(3)输出长方形的周长和面积,结果保留两位小数,并注明哪个是周长,哪个是面积。

提示:周长公式:周长=(长+宽)*2

面积公式:面积=长*宽

37.某小学女篮校队招募新成员,要求加入女篮校队的成员身高在 135 厘米以上(不含 135 厘米)。本次报名的人员有 10 人,她们的身高分别是 125、127、136、134、137、138、126、135、140、145。请问本次女篮校队能够招募多少新成员,并将新成员的身高按照从矮到高的身高排序输出?

要求:

(1)必须使用列表或者元组;

(2)输出格式:“女篮校队新增成员数目:*,她们的身高从矮到高分别是:**”(注:*代表女篮校队招募的新成员数目;**代表从矮到高新成员的身高。)

参考答案及解析:

一、单选题答案及解析

1. B

   - 解析:`max(score)`可以获取列表`score`中的最高分;`min(score)`获取最低分;列表没有`.max()`和`.min()`方法。

2. C

   - 解析:列表切片中,`a[1:4]`表示从索引1开始到索引4(不包括4)的元素,即[2, 3, 4]。

3. A

   - 解析:向字典中添加键值对的正确方式是`字典名[键] = 值`,所以`dic1['龙小勤'] = 13`正确。

4. D

   - 解析:本题主要考察的实 range()的使用,本题中 ls 的元素有从 3 开始,到 33 结束 (不包含 33),步长为 3 的元素构成,即:[3, 6, 9, 12, 15, 18, 21, 24, 27, 30], 所以第 5 个数为:15

5. B

   - 解析:A选项`tuple = ()`是一个空元组;C选项`tuple = ('芜湖',)`是一个只有一个元素的元组;D选项是一个包含多个元素的元组;B选项`tuple = ('北京')`创建的是字符串而不是元组。

6. B

   - 解析:字典通过键访问值,`print(festival["正月初一"])`可以输出“正月初一”对应节日。A选项`del`是删除操作,不能输出值;C选项`clear()`是清空字典;D选项字典不能通过索引1访问。

7. C

   - 解析:列表通过索引访问元素,`name[0]`是“德丽莎”,然后进行字符串连接,`print(name[0]+"天下第一可爱!")`可以输出结果。

8. B

   - 解析:k=20,每次执行 k=k//2,k 循环过程中的值依次变化为:20,10,5,2,1,当 k=1 时, 循环条件 k>1 不成立,退出循环,故循环共计 4 次。正确答案为 B。

9. D

   - 解析:`ls1 += ls2`将`ls2`的元素添加到`ls1`中,然后`ls1.clear()`清空列表,所以最后输出空列表`[]`。

10. C

   - 解析:`sort()`方法是对列表进行原地排序,正确的用法是`ls.sort(reverse=True)`,不能直接使用`sort(ls,reverse=True)`。A、B、D选项的方法可以将列表逆序排列。

11. A

   - 解析:字典的长度是指字典中键值对的个数,这里`jd`中有三个键值对,所以长度是3。

12. A

   - 解析:`print(sum(range(1,100)))`计算的是1到99的和,不包括100。B、C、D选项都能正确计算1到100之间所有整数的和。

13. B

   - 解析:连续投中3次中投并且换手运球100次,需要用“与”(`and`)逻辑运算符表示。

14.D

   - 解析:题中列表 lst 为嵌套列表,'四年级'为 lst[0][3],'6 班'为 lst[1][5],打印完整的' 四年级 6 班'需将两个字符串连接起来并打印,即答案 为 print(lst[0][3]+lst[1][5])

15. B

   - 解析:将两个字符串连接起来可以使用“+”,`str = name + "同学"`可以实现需求。A选项语法错误;C选项语法错误;D选项`append`是列表的方法,不是字符串的方法。

16. A

   - 解析:循环遍历1到100,当`i % 7!= 0`时打印`i`,即输出不能被7整除的数字。B选项循环条件错误;C选项当`i % 7 == 0`时跳出循环,输出的是7的倍数;D选项当`i % 7 == 0`时打印`i`,不符合要求。

17. C

   - 解析:`list(str)`将字符串转换为字符列表,每个字符都是一个单独的元素,包括空格,结果为['H', 'a', 'p', 'p', 'y', ' ', 'n', 'e', 'w', ' ', 'y', 'e', 'a', 'r']。

18. A

   - 解析:元组是不可变的,不能通过索引赋值修改元组中的元素,也不能使用`append`和`pop`方法,但是可以通过索引访问元组中的元素,`t = tuple[2]`是正确的。

19. D

   - 解析:字典是无序的对象集合,不能用下标进行访问。A选项字典中的值不支持索引查询正确;B选项字典以关键字为键,关键字可以是任意不可变数据类型正确;C选项字典里面的值可以包含列表和其他数据类型正确。

20. B

   - 解析:创建列表使用方括号`[]`;圆括号`()`用于创建元组、函数调用等;`<>`不是创建列表的符号;单引号`''`用于创建字符串。

21. D

   - 解析:`%.2f`可以格式化输出浮点数保留两位小数,所以`print('小明的身高是%.2f。' % height)`可以输出“小明的身高是1.55。”。

22. C

   - 解析:在Python中,分支结构不一定包含`else`语句,可以只有`if`或`if...elif`。A选项分支结构一般由`if`、`elif`、`else`组成正确;B选项分支结构一般有单分支结构、双分支结构和多分支结构正确;D选项`if`语句后面跟条件表达式正确。

23. C

   - 解析:列表`list_sf`中“吃饺子”的索引是5,要将“压岁钱”存入“吃饺子”元素的后面,应该使用`list_sf.insert(6, '压岁钱')`。

24. D

   - 解析:`tup1[-5]`是“你好”,`tup1[3]`是“中国”,连接起来是“你好中国”。

25. D

   - 解析:当`for`循环正常结束时(没有被`break`或者`return`等提前退出),会执行`else`语句下面的代码。A选项`break`语句可以跳出`for`和`while`的循环体正确;B选项如果从循环中终止,任何对应的循环`else`块将不执行正确;C选项`continue`语句的作用正确。

二、判断题答案及解析

26. √

   - 解析:元组中的元素可以是不同的数据类型。

27. √

   - 解析:`for`循环能实现的功能,`while`循环也可以实现,只是写法不同。

28. ×

   - 解析:死循环在某些特定情况下是有作用的,比如服务器监听请求等。

29. ×

   - 解析:循环中`for it in age`,`it`是列表中的元素,应该直接打印`it`而不是`age[it]`,会导致索引错误。

30. ×

   - 解析:字符串不能进行除法运算,`'yayaya'/3`会报错。

31. √

   - 解析:可以使用`d1={}`的方式创建一个空字典。

32. ×

   - 解析:`(1,2,3)`和`(3,2,1)`是不同的元组,比较结果为`False`。

33. ×

   - 解析:字符串和整数不能直接用“+”连接,会报错。

34. ×

   - 解析:`if 's' in 'string':`是判断字符`s`是否在字符串`string`中;`if s in 'string':`中`s`如果未定义会报错,即使定义了也不一定和上一种情况等效。

35. √

   - 解析:每条`if`语句的核心都是一个值为`True`或`False`的表达式,这种表达式为条件语句。

三、编程题解析

36. 参考代码:

a = float(input('请输入长方形的长:'))

# 获取用户输入的长方形的长,并转换为浮点数类型赋值给变量 a

b = float(input('请输入长方形的宽:'))

# 获取用户输入的长方形的宽,并转换为浮点数类型赋值给变量 b

if a <= 0 or b <= 0:# 判断长或宽是否不大于 0

    print("输入有误,请重新输入!") # 输出错误提示信息

else:

    c = (a + b) * 2 # 计算长方形的周长并赋值给变量 c

    d = a * b # 计算长方形的面积并赋值给变量 d

    print("周长是:{:.2f}厘米".format(c))# 输出周长结果,保留两位小数

    print("面积是:{:.2f}平方厘米".format(d))# 输出面积结果,保留两位小数

总结:这段代码将长方形的长和宽分别用变量a和b表示,周长用变量c表示,面积用变量d表示。通过接收用户输入的长和宽,判断输入是否合法,若合法则计算并输出长方形的周长和面积。

37.参考代码:

ht1 = [125, 127, 136, 134, 137, 138, 126, 135, 140, 145]# 定义一个包含报名人员身高的列表 ht1

ht2 = []# 创建一个空列表 ht2,用于存储符合条件的身高

ct = 0

# 初始化新增成员数目为 0

for i in ht1:

    # 遍历 ht1 列表中的每个身高

    if (i > 135):

        # 如果身高大于 135

        ct += 1

        # 新增成员数目加一

        ht2.append(i)

        # 将符合条件的身高添加到 ht2 列表中

ht2.sort()

# 对 ht2 列表进行排序

print("女篮校队新增成员数目:{},她们的身高从矮到高分别是:{}".format(ct, ht2))

# 输出结果,包括新增成员数目和从矮到高的身高列表

总结:这段 Python 代码的目的是从给定的身高列表中筛选出身高大于 135 的成员,并统计新增成员数目,同时将符合条件的身高按从矮到高的顺序输出。首先定义了一个包含报名人员身高的列表`ht1`,然后通过遍历`ht1`,将符合条件的身高添加到新的列表`ht2`中,并统计新增成员数目。最后,对`ht2`进行排序并输出结果。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

晴朗向上

你的鼓励是我最大的动力,感谢!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值