【免费】中国电子学会2024年03月份青少年软件编程Python等级考试试卷二级真题(含答案)

2024-03 Python二级真题

分数:100

题数:37

测试时长:60min

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

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

A. min(score)

B. max(score)

C. score.max()

D. score.min()

答案解析:max() 函数可以获取列表中的最大值,比如:score = [88, 78, 92, 85], max(score) 的值就是最大的元素:92

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

A. print(a[2:4])

B. print(a[2:5])

C. print(a[1:4])

D. print(a[0:4])

答案解析:列表切片,包括左端,不包括右端,同时,列表的第1个元素的下标为0,所以正确的开头和结尾的下标分别为1和4,所以选C

3. 第一小组成员姓名和年龄如下dic1 = {'张明':12,'李红':12,'王长江':13}现新增成员龙小勤,年龄为13,以下代码正确的是?( A)

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

B. ['龙小勤'] = 13

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

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

答案解析:字典新增key和value的方法: dic1['key']=value

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

A. 15

B. 18

C. 21

D. 24

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

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

A. tuple = ()

B. tuple = ('北京')

C. tuple = ('芜湖',)

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

答案解析:当赋值运算创建的元组只有一个元素时,需要在该元素后面补齐逗号“,”以表明这是元组。若不补齐这个逗号,它便不是一个元组。选项A为一个空元组。所以选B。

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

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

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

C. print(festival.clear())

D. print(festival[1])

答案解析:由于字典没有下标,不能通过下标来进行值的访问,只能通过键来进行访问,对于字典d,d[k]的作用是返回d中键k所对应的值(k为键)。

7. 已知列表name=["德丽莎"],运行以下哪段代码,可打印出结果“德丽莎天下第一可爱!”(不包含双引号)?(C)( 2分)

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

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

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

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

答案解析:"德丽莎"是列表的第1个元素,其索引值为0,故为name[0];列表不能直接和字符串相加,但列表元素可以和字符串相加。故正确答案为C。

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

k = 20

while k >1 :

    print(k)

    k=k//2

A. 3

B. 4

C. 5

D. 6

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

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

ls1=list()

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

ls1+=ls2

ls1.clear()

print(ls1)

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

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

C. 终端区会报错

D. []

答案解析:列表中清空clear()函数的使用,其功能为清空列表中的所有元素,需要与del方法区分。

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

A. ls.sort(reverse=True)

B. sorted(ls,reverse=True)

C. sort(ls,reverse=True)

D. ls[::-1]

答案解析:选项sort(ls,reverse=True)语法错误,sort()函数使用错误,正确的用法为:升序:ls.sort()降序:ls.sort(reverse=True)

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

A. 3

B. 4

C. 12

D. 15

答案解析:字典的元素是由键值对组成,键和值之间用冒号分隔,一个键和其值构成一个键值对,字典的长度等于其键值对的个数。因此该字典的长度为3

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

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)))

答案解析:print(sum(range(1,100))) range()函数的边界值100没有取到,程序将打印1-99之间的和。

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

A. or

B. and

C. not

D. !=

答案解析:教练对于小明的两个要求需要都成立才可以加入球队,因此可以用 and 来表示。

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

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])

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

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

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

B. str = name + "同学"

C. str = "同学" . name . "同学"

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

答案解析:在Python中,可以使用加号+来连接字符串。因此,将name变量的值以及另一个 "同学" 用 "+" 连接起来,就能满足本题要求。

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

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 += 1

D.

for i in range(1, 101): 

    if i % 7 == 0: 

        print(i) 

    else: 

        continue

答案解析:正确答案为A。选项A使用for循环数到100,并在遇到7的倍数时使用continue语句来跳过这些数。选项B使用while循环的时候判断范围出错。选项C使用了break语句,将在遇到第一个7的倍数时终止整个循环。选项D中的else: continue是多余的,并且判断语句为i % 7 == 0打印7的倍数,因此错误。

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

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]

答案解析:list()函数将字符串str转换为了列表类型,列表内的元素应该是各个字母字符,故选项B和D错误;字符串中的空格也应被转换成一个列表元素,不应被忽略,故选项A错误,故本题答案为选项C。

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

A. t = tuple[2]

B. tuple[2] = '6'

C. tuple.append(6)

D. tuple.pop()

答案解析:元组与字符串一样,是不可修改的,只能对其进行访问操作,不能对元组中的元素进行修改、添加、删除操作,故选项B、C、D错误,本题的正确答案为选项A。

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

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

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

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

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

答案解析:字典是以键值对保存的数据,不支持索引,只能通过键的形式查找,是一种无序的对象集合,无法用下标进行访问,故选项D错误,所以本题答案为选项D。

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

A. ()

B. []

C. <>

D. ''

答案解析:创建元组时使用( ),创建字符串使用' ' 或者 " ",创建列表使用[ ]。所以本题正确答案为B。

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

height = 1.55

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

A. %d

B. %f

C. %.f

D. %.2f

答案解析:字符串的格式化输出使用%f为浮点数占位,要输出1.55,需要保留两位小数,在%后面加上 .2 表示保留两位小数。所以本题正确答案为D。

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

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

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

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

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

答案解析:在Python中,分支结构的else语句可以省略。所以本题正确答案为C。

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

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

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

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

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

答案解析:list_sf.insert(6, '压岁钱')中的两个参数分别代表插入位置的下标和插入的元素。本题目中应该插入到下标为6的位置。

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

A. 你好祖国

B. 生日快乐

C. 祝福祖国

D. 你好中国

答案解析:考察元组的访问方法,能正确理解正索引和负索引的区别。

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

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

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

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

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

答案解析:考察for循环中的else子句,当for循环正常结束时(没有被break或者return等提前退出),会执行else语句下面的代码。故选择D。

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

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

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

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

答案解析:考察对死循环的理解,死循环有办法退出,也有相应的作用。

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

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

for it in age:

    print(age[it])

答案解析:第二行:for it in age: 本身就已经把列表中的所有元素已取回并赋值给it,可通过print(it)遍历列表age中的每一个元素。

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

答案解析:字符串不能进行除法操作,代码会报错。

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

答案解析:在python中,可使用一对大括号完成一个空字典的创建。

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

答案解析:元组是有序的,(1,2,3)和(3,2,1)不同,表达式(1,2,3)==(3,2,1)的结果是False。

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

答案解析:字符串和数字类型拼接,程序会报错。

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

答案解析:'s'是字符常量,s是变量,所以这两个if语句的效果是不同的,如果是将字符串's'赋值给变量s,这两个结果才可能一样。故本题描述错误。

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

答案解析:if 语句后面必须要有一个条件语句

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

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

要求:

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

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

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

提示:

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

面积公式:面积=长*宽

参考程序:

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

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

if chang <=0 or kuan <= 0:

    print("输入有误,请重新输入!")

else:

    zhouchang = (chang+kuan) * 2

    mianji = chang * kuan

    print("周长是:{:.2f}厘米".format(zhouchang))

    print("面积是:{:.2f}平方厘米".format(mianji))

评分标准: 

(1)有输入语句;(2分)

(2)有类型转换语句;(2分)

(3)有条件判断语句;(2分)

(4)有周长和面积计算语句;(4分,每个2分)

(5)有输出语句;(2分)

(6)面积和周长计算正确;(2分,每个1分)

(7)最后输出的格式符合要求。(1分)

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

要求:

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

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

标准答案:

参考程序:

ht1=[125,127,136,134,137,138,126,135,140,145]

ht2=[]

ct=0

for i in ht1:

    if(i>135):

        ct+=1

        ht2.append(i)

ht2.sort()

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

答案解析:

评分标准:

(1)创建非空列表/元组,存储原始数据;(2分)

(2)创建空列表;(1分)

(3)计数思想,并且将计数器进行了初始化;(2分)

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

(5)有条件语句;(2分)

(6)能够使用列表的追加元素函数或者方法向列表中增加元素;(2分)

(7)能够使用列表的排序函数或者方法对列表元素排序;(2分)

(8)能够按照正确的格式打印输出。(2分)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/734849.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Java学习 - 网络IP协议簇 讲解

IP协议 IP协议全称 Internet Protocol互联网互连协议 IP协议作用 实现数据在网络节点上互相传输 IP协议特点 不面向连接不保证可靠 IP协议数据报结构 组成说明版本目前有IPv4和IPv6两种版本首部长度单位4字节&#xff0c;所以首部长度最大为 15 * 4 60字节区分服务不同…

视觉新纪元:解码LED显示屏的视角、可视角、最佳视角的最终奥秘

在璀璨夺目的LED显示屏世界里&#xff0c;每一个绚烂画面的背后&#xff0c;都离不开三个关键概念&#xff1a;视角、可视角与最佳视角。这些术语不仅是衡量显示效果的重要标尺&#xff0c;也是连接观众与精彩内容的桥梁。让我们一起走进这场视觉盛宴&#xff0c;探索那些让LED…

做Android开发怎么才能不被淘汰?

多学一项技能&#xff0c;可能就会成为你升职加薪的利器。经常混迹于各复杂业务线的人&#xff0c;才能跳出重复工作、不断踩坑的怪圈。而一个成熟的码农在于技术过关后&#xff0c;更突出其他技能对专业技术的附加值。 毋须讳言的是&#xff0c;35岁以后你的一线coding能力一…

使用SPI驱动数码管

代码&#xff1a; 7-seg.c /*《AVR专题精选》随书例程3.通信接口使用技巧项目&#xff1a;改进的延时法实现半双工软件串口文件&#xff1a;7seg.c说明&#xff1a;SPI控制数码管驱动文件作者&#xff1a;邵子扬时间&#xff1a;2012年12月15日*/#include <avr/io.h>ex…

【嵌入式】嵌入式Linux开发实战指南:从交叉编译到触摸屏交互

文章目录 前言&#xff1a;1.简介1.1. 交叉编译工具1.2. 项目开发流程&#xff1a;1.3. ARM开发板的连接方法 2. 开发板连接3. 系统文件 IO4. 设置共享文件夹3.1. 读文件3.2. 写文件3.2. 设置文件偏移量 4. LCD显示屏显示4.1. LCD 显示颜色4.2. 将文件下载到开发板4.2.1. 在CRT…

JDK动态代理

JDK动态代理源码分析 4.1 JDK动态代理的实现 需要动态代理的接口 /**需要动态代理的接口 */ public interface Movie {void player();void speak();需要动态代理的接口的真实实现 /**需要动态代理接口的真实实现 */ public class RealMovie implements Movie {Override publi…

win10 安装openssl并使用openssl创建自签名证书

win10创建自签名证书 下载安装配置openssl 下载地址&#xff1a; https://slproweb.com/download/Win64OpenSSL-3_3_1.exe https://slproweb.com/products/Win32OpenSSL.html 完成后安装&#xff0c;一路next&#xff0c;到达选位置的之后选择安装的位置&#xff0c;我这里选…

一文详解分布式 ID

分布式系统中&#xff0c;我们经常需要对数据、消息等进行唯一标识&#xff0c;这个唯一标识就是分布式 ID&#xff0c;那么我们如何设计它呢&#xff1f;本文将详细讲述分布式 ID 及其生成方案。 一、为什么需要分布式 ID 目前大部分的系统都已是分布式系统&#xff0c;所以在…

如何打造稳定、好用的 Android LayoutInspector?

速度极慢&#xff0c;遇到复杂的布局经常超时 某些情况无法选中指定的 View 本文将围绕 LayoutInspector 的痛点&#xff0c;分析问题并修复&#xff0c;最终将 LayoutInspector 变成一个稳定、好用的插件。 二、加速 Dump View Hierarchy 2.1 问题描述 开发复杂业务的同学…

【STM32-启动文件 startup_stm32f103xe.s】

STM32-启动文件 startup_stm32f103xe.s ■ STM32-启动文件■ STM32-启动文件主要做了以下工作&#xff1a;■ STM32-启动文件指令■ STM32-启动文件代码详解■ 栈空间的开辟■ 栈空间大小 Stack_Size■ .map 文件的详细介绍■ 打开map文件 ■ 堆空间■ PRESERVE8 和 THUMB 指令…

用Java获取键盘输入数的个十百位数

这段Java代码是一个简单的程序&#xff0c;用于接收用户输入的一个三位数&#xff0c;并将其分解为个位、十位和百位数字&#xff0c;然后分别打印出来。下面是代码的详细解释&#xff1a; 导入所需类库: import java.util.Scanner;&#xff1a;导入Scanner类&#xff0c;用于从…

使用Gradle查看Android项目中库的依赖关系

| | -- com.android.support:support-compat:25.3.1 | | | — com.android.support:support-annotations:25.3.1 | | -- com.android.support:support-media-compat:25.3.1 | | | -- com.android.support:support-annotations:25.3.1 | | | — com.android.support:support…

Windows10中端口被占用处理方法

前言 在Windows 10中&#xff0c;查看端口被占用情况的方法主要依赖于命令行工具netstat。以下是详细步骤&#xff0c;以及必要的解释和归纳&#xff1a; 打开命令提示符 方法1&#xff1a;使用快捷键Win R&#xff0c;打开“运行”对话框&#xff0c;输入cmd&#xff0c;然…

深入讲解C++基础知识(一)

目录 一、基本内置类型1. 类型的作用2. 分类3. 整型3.1 内存描述及查询3.2 布尔类型 —— bool3.3 字符类型 —— char3.4 其他整型 4. 有符号类型和无符号类型5. 浮点型6. 如何选择类型7. 类型转换7.1 自动类型转换7.2 强制类型转换7.3 类型转换总结 8. 类型溢出8.1 注意事项 …

5.XSS-反射型(post)利用:获取cookie

原理&#xff1a; 文件路径&#xff1a;\pikachu\pkxss\xcookie\post.html 将post.html文件&#xff0c;复制到皮卡丘的根路径下或者根下随意路径即可&#xff0c;并编辑文件 需要修改以下两个地址&#xff0c;第一个地址是将原界面的样子链接过来&#xff0c;让用户认为是原…

数据结构十三:2 - 3树和红黑树

一开始就接触这五点&#xff0c;会让人云里雾里&#xff0c;不利于了解这个数据结构。因为这种先给定义在推导的方式并不适合学习。它没有介绍红黑树的来源&#xff0c;而只是给你生硬的定义。 而学习红黑树的最好学习资料就是大名鼎鼎的《算法4》&#xff0c;如下&#xff1a…

微型操作系统内核源码详解系列五(四):cm3下svc启动任务

系列一&#xff1a;微型操作系统内核源码详解系列一&#xff1a;rtos内核源码概论篇&#xff08;以freertos为例&#xff09;-CSDN博客 系列二&#xff1a;微型操作系统内核源码详解系列二&#xff1a;数据结构和对象篇&#xff08;以freertos为例&#xff09;-CSDN博客 系列…

LabVIEW电控旋翼测控系统

开发基于LabVIEW开发的电控旋翼测控系统&#xff0c;通过高效监控和控制提升旋翼系统的性能和安全性。系统集成了多种硬件设备&#xff0c;采用模块化设计&#xff0c;实现复杂的控制和数据处理功能&#xff0c;适用于现代航空航天领域。 项目背景 传统旋翼系统依赖机械和液压…

算法04 模拟算法之一维数组相关内容详解【C++实现】

大家好&#xff0c;我是bigbigli&#xff0c;模拟算法我们将分为几个章节来讲&#xff0c;今天我们只看一维数组相关的题目 目录 模拟的概念 训练&#xff1a;开关灯 解析 参考代码 训练&#xff1a;数组变化 解析 参考代码 训练&#xff1a;折叠游戏 解析 参考代码 …