2023年05月份青少年软件编程Python等级考试试卷三级真题(含答案)

news2024/9/29 23:25:50

2023-05 Python三级真题

题数:38

分数:100

测试时长:60min

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

1.  请选择,下面代码运行之后的结果是?( )(2分)

a = '2'
b = '4'
try:
    c = a * b
    print(c)
except:
    print('程序出错!')
else:
    print('程序正确!')
A.  24

B.  8

C.  程序出错!

D.  程序正确!

   

2.  下面程序执行结果是?( )(2分)

a=['春','夏','秋','冬']
c=list(enumerate(a))
print(c)
A.  [(0, '春'), (1, '夏'), (2, '秋'), (3, '冬')]

B.  [[0, '春'], [1, '夏'], [2, '秋'], [3, '冬']]

C.  [(1, '春'), (2, '夏'), (3, '秋'), (4, '冬')]

D.  [[1, '春'], [2, '夏'], [3, '秋'], [4, '冬']]

3.  下面程序执行结果是?( )(2分)

s='123456789'
print(min(s)+max(s))
A.  1

B.  9

C.  10

D.  19

4.  打开b.txt文件,将"Hello Tom!"写入文件,下列语句正确的是?( )(2分)

A.  f.write(['Hello'],[Tom!])

B.  f.read('Hello',' Tom!')

C.  f.write('Hello Tom!')

D.  f.read('Hello Tom!')

5.  下列数据中,最大的数值是?( )(2分)

A.  int('16',10)

B.  int('110',2)

C.  int('11',16)

D.  int('1111',2)

6.  十六进制数7E转换为二进制数是几位数?( )(2分)

A.  7

B.  6

C.  4

D.  2

7.  表达式int('13',8)的返回值是?( )(2分)

A.  12

B.  11

C.  10

D.  15

8.  有如下代码:

res = []
f = open('Python08.txt','r')  #Python08.txt中共4行诗句
p = f.readlines()
for s in p:
    res.append(s)
print(res)
f.close()
对于该段代码,说法不正确的是?(  )(2分)

A.  程序的功能是按行读取文本文件中的内容,并将其逐一写入列表res

B.  此处readlines()用法错误,应改成readline()

C.  该文本文件和程序代码文件在同一文件夹下

D.  参数'r'不允许修改该文本文件

9.  有代码如下:

s=["白日依山尽","黄河入海流","欲穷千里目","更上一层楼"]
f=open('sj.txt','w')
f.write('\n'.join(s))
f.close()
关于上述代码,说法不正确的是?(  )(2分)

A.  写入文本文件的步骤主要是打开——写入——关闭

B.  f.write('\n'.join(s))与f.write(' '.join(s)+'\n')的功能是相同的

C.  write()的参数是一个字符串,而writelines()的参数可以是字符串也可以是字符序列

D.  该代码的功能是将列表中的诗句按行写入文本文件

10. 编写程序代码时,我们经常会犯错,对于Python的异常处理,描述正确的是?( )(2分)

A.  可以用if…elif…else…进行异常处理

B.  异常处理可以弥补程序漏洞,让程序在任何情况下都不会终止运行

C.  通过异常处理语句,当程序输入错误时,仍可以让程序继续运行

D.  当遇到错误语句时,将执行try代码块语句

11. 若scores="9,7,8,9,6,5",则list(scores)的结果是?( )(2分)

A.  [9,7,8,9,6,5]

B.  ['9','7','8','9','6','5']

C.  ['9', ',', '7', ',', '8', ',', '9', ',', '6', ',', '5']

D.  9,7,8,9,6,5

12. 下列表达式的结果为True的是?( )(2分)

A.  len("13"+"4")>14

B.  ord(min("banana"))<65

C.  sum([13,14,16])==53

D.  any(["a","b","","d"])

13. 下列有关于函数的说法,正确的是?( )(2分)

A.  bool( )函数是一个类型转换函数,用于将给定参数转换为布尔类型,若没有参数,则出错

B.  ascii()函数和ord()函数功能都是返回一个数值类型的数据

C.  filter()函数用于过滤序列,过滤不符合条件的元素,一般由两个参数组成,即函数和序列

D.  map()函数主要用于画地图

14. 下列表达中,和range(8)的结果相同的是?( )(2分)

A.  range(0,8)

B.  range(1,8)

C.  range(0,8,2)

D.  range(1,9)

15. 已知x,y,z=map(int,['20','2','3']),则表达式x+y+z的结果是?( )(2分)

A.  程序出错

B.  2023

C.  21

D.  25

16. 《孙子算经》是我国古代重要的数学著作,其中有一题:“今有物不知其数,三三数之剩二,五五数之剩三,七七数之剩二,问物几何?”小王同学用Python编写了如下程序:

x=1
while x>0:
    if not (   ):
        x+=1
    else:
        print(x)
        x+=1
关于上述程序,下列说法不正确的是?(   )(2分)

A.  把第一个x+=1改成break,则程序输出一个结果

B.  括号内应填入的代码是x%3==2 and x%5==3 and x%7==2

C.  该程序是个死循环

D.  该程序将有无穷多个输出

17. 下列关于二维数据的描述,正确的是?( )(2分)

A.  二维数据就是由两个一维数据组成

B.  二维数据由多个一维数据组成

C.  二维数据的每一个一维数据之间,只能采用逗号进行分隔

D.  二维数据不适合以表格的形式进行存储

18. 使用open函数打开某个CSV格式文件后,如果要将整个文件里的内容读取到一个列表中,需要使用以下文件对象的哪个函数?( )(2分)

A.  read()

B.  readline()

C.  readlines()

D.  flush()

19. abs()是Python的内置函数,执行abs(-1.00)语句返回的结果是?( )(2分)

A.  -1.00

B.  1

C.  1.0

D.  1.00

20. divmod()是Python的内置函数。对应变量x和y,divmod(y,x)返回的结果是?( )(2分)

A.  (x//y, x%y)

B.  (x%y, x//y)

C.  (y//x, y%x)

D.  (y%x,y//x)

21. 在交互式编程环境下执行a = input("请输入考试成绩:")语句后,通过数字键盘输入数值89.5。输入完成后,查看变量a的数据类型,会是下列哪一种?( )(2分)

A.  float

B.  int

C.  str

D.  bool

22. 执行print(list(range(4)))语句后,显示的结果是?( )(2分)

A.  [0,1,2,3]

B.  [1,2,3,4]

C.  [0,0,0,0]

D.  ['' ,'' ,'' ,'' ]

23. 暴力破解是一种常见的网络攻击行为,它采用反复试错的方法去尝试破解用户的密码。这种黑客工具主要使用以下哪种算法进行设计?( )(2分)

A.  枚举算法

B.  解析算法

C.  排序算法

D.  对分查找算法

24. 对一组数据"6,1,3,2,8"进行排序,按从小到大的顺序进行排列,使用冒泡算法进行编程,则第一轮过后,排序的结果是?( )(2分)

A.  1,6,3,2,8

B.  1,3,6,2,8

C.  1,3,2,6,8

D.  1,2,3,6,8

25. 二进制数11110010转换为十六进制数是?( )(2分)

A.  1502

B.  152

C.  F2

D.  F02

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

26. 下列这段代码能够正常运行。对吗?( )

while True :
    a = input('请输入一个整数,若不是整数将会让你重新输入:  ' )
    try:
        b = int(a)
    except:
        print('你输入的不是整数!将返回重输。')
    else:
        print('你输入的是整数,程序结束。')
        break
 

27. 一组有n个元素的数列,如采用顺序查找法找到数列中的某一个元素,平均查找次数为 (n+1)/2 次。( )

28. 十进制数转十六进制数以后,位数一定变少了。( )

29. 二进制数1101011011转换成十六进制数是35B。( )

30. 使用open()方法一定要保证关闭文件对象,即调用close()方法。( )

31.

file=open('fruits.csv','r')
name=file.read().strip('\n').split(',')
file.close()
上述代码的功能是读取文件中的数据到列表。(  )


32.

a=['shanghai','beijing','tianjin','chongqing','hangzhou']
with open ('city.csv','w')as f:
f.write(','.join(a)+'\n')
本段代码最后还缺少一条'f.close()'语句以关闭文件。(  )

33. sort()与sorted()函数的区别在于前者默认是升序,后者默认是降序。( )   

34. round()函数属于数学函数,可用于近似保留小数位数。( )

35. sum()函数不仅可以对列表数据进行求和,也可以对元组数据进行求和。( )

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

36.

某班级期中考试成绩汇总(完成)

在文件“score.csv”中,包含了语文、数学、英语三科的分数,数据内容如下图显示:

 

小明编写了如下程序,读取成绩文件中的数据,并分别计算语文、数学、英语三科成绩的平均分,请你补全代码。

import csv
ChineseNum=0
MathNum=0
EnglishNum=0
num=0
with open('/data/score.csv',encoding='utf-8') as csv_file:
    row = csv.reader(csv_file, delimiter=',')
    next(row)  # 读取首行
    for r in row:
        ChineseNum += float(        ①        )
        MathNum += float(        ②        )
        EnglishNum += float(        ③        )
        num +=         ④        
print("语文平均成绩是:%.2f"%(ChineseNum/num))
print("数学平均成绩是:%.2f"%(MathNum/num))
print("英语平均成绩是:%.2f"%(EnglishNum/num))

   

参考程序:

import csv
ChineseNum=0    语文  
MathNum=0       数学
EnglishNum=0    英语
num=0           总成绩
with open('/data/score.csv',encoding='utf-8') as csv_file:
    row = csv.reader(csv_file, delimiter=',')
    next(row)  # 读取首行
    for r in row:
        ChineseNum += float(r[0])
        MathNum += float(r[1])
        EnglishNum += float(r[2])
        num += 1
print("语文平均成绩是:%.2f"%(ChineseNum/num))
print("数学平均成绩是:%.2f"%(MathNum/num))
print("英语平均成绩是:%.2f"%(EnglishNum/num))

评分标准:

(1)r[0];(1分)

(2)r[1];(1分)

(3)r[2];(1分)

(4)1。(1分)

37.

新学期到了

,学校接收了一批捐赠的图书,小明编写了一个简单的程序用来管理图书,并支持借阅功能。为了提高查找图书的效率,小明使用了二分查找法来设计图书借阅功能。以下是小明编写的图书借阅管理程序,请你补全代码。

library=dict()            #用字典生成一个图书管理数据结构(字典的键为编号,字典的值为['书名',本数])
#书籍入库
nums=len(library)              #先计算图书编号总数
library[nums+1]=['红楼梦',5]     #在编号总数的基础上继续添加新书:library[新编号]=['书名',本数]
library[nums+2]=['西游记',10]
library[nums+3]=['水浒传',5]
library[nums+4]=['三国演义',10]
print(library)
 
blist=list(library.keys())
#按书名借阅:
bookname=input('请输入借阅图书名称:')
 
min_v = blist[0]
max_v = blist[-1]
turns=0
 
while min_v <=         ①        :
    turns += 1
    cur  =  (min_v + max_v)        ②         
    print(cur)
    if library[cur][0] ==         ③        :        
        if library[cur][1]  >  0: 
            library[cur][1]  -=         ④        
            print('《%s》借阅成功!'%bookname)
        else:
            print('抱歉,您选择的书籍已被借完!')
        break
    elif blist[cur-1] > cur:
        min_v =         ⑤           
    else:
        max_v =         ⑥       
print("经过%d轮二分查找,完成图书的搜索。"%turns)

参考程序:

#学校图书管理系统
library=dict()            #用字典生成一个图书管理数据结构(字典的键为编号,字典的值为['书名',本数])
 
#书籍入库
nums=len(library)              #先计算图书编号总数
library[nums+1]=['红楼梦',5]     #在编号总数的基础上继续添加新书:library[新编号]=['书名',本数]
library[nums+2]=['西游记',10]
library[nums+3]=['水浒传',5]
library[nums+4]=['三国演义',10]
print(library)
 
blist=list(library.keys())    #获取到字典里全部的键

bookname=input('请输入借阅图书名称:')   #按书名借阅
 
min_v = blist[0]     第一本
max_v = blist[-1]    最后一本
turns=0             搜索几次
 
while min_v <= max_v:   第一本 <= 最后一本
    turns += 1           搜索数 +1
    cur = (min_v + max_v) // 2    中间那本
    print(cur)                     6
    if library[cur][0]==bookname:        书名等于输入的书名
        if library[cur][1] > 0:           本数大于0
            library[cur][1] -= 1           那么数量-1
            print('《%s》借阅成功!'%bookname)
        else:
            print('抱歉,您选择的书籍已被借完!')
        break
    elif blist[cur -1] > cur:        
        min_v = cur +1
    else:
        max_v = cur -1
print("经过%d轮二分查找,完成图书的搜索。"%turns)

评分标准:

(1)max_v;(2分)

(2)// 2;(2分)

(3)bookname;(3分)

(4)1;(3分)

(5)cur +1;(3分)

(6)cur -1。(3分)

38.

某班“天天向上”小组共有6个同学,

姓名和身高数据分别存放在列表a中,编写程序实现小组同学按身高从高到低输出名单,运行结果如图所示:

程序代码如下,请在划线处补充完整:

a=[["李洪全",135],["王倩倩",154],["吴乐天",148],["周立新",165],["鲁正",158],["杨颖颖",150]]
for i in range(1,len(a)):
    for j in range(0,        ①        ):
        if a[j][1]        ②        a[j+1][1]:
            a[j],a[j+1]=a[j+1],a[j]
print("小组名单是:")
for i in range(len(a)):
print(        ③        )


参考程序:

a=[["李洪全",135],["王倩倩",154],["吴乐天",148],["周立新",165],["鲁正",158],["杨颖颖",150]]
for i in range(1,len(a)):   1,6
    for j in range(0, len(a)-i): 0,5
        if a[j][1] < a[j+1][1]:
            a[j],a[j+1]=a[j+1],a[j]
print("小组名单是:")
for i in range(len(a)):
print(a[i][0])


本题考查冒泡排序算法。从外循环看,6个元素排5趟,内循环每趟主要从第一个元素开始,相邻元素两两相比,i=1时,j最终取到4,i=2时,j最终取到3,i=3时,j最终取到2,i=2时,j最终取到1,i=1时,j最终取到0,由于range()的终值是取不到的,故第一空应填len(a)-i;根据题目从高到低的要求,若前一个数小于后一个数,则应将其往后移,故第二空应为”<”;由输出结果观察可知,只需要输出排序后列表中的姓名部分,故第三空应填a[i][0]。

评分标准:

(1)len(a)-i;(4分)

(2)<;(3分)

(3)a[i][0]。(3分)
————————————————
版权声明:本文为CSDN博主「Lemon Liu」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/m0_46227121/article/details/131205620

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

声网 Agora音视频uniapp插件跑通详解

一、前言 在使用声网SDK做音视频会议开发时, 通过声网官方论坛 了解到,声网是提供uniapp插件的,只是在官方文档中不是很容易找到。 插件地址如下: Agora音视频插件 Agora音视频插件(JS) 本文讲解如何跑通演示示例 二、跑通Demo 2.1 环境安装: 参考: 2. 通过vue-…

Mellanox ConnectX-6-dx智能网卡 openvswitch 流表卸载源码分析

Mellanox ConnectX-6-dx智能网卡 具备流表卸载能力。智能网卡的部署方式兼容当前服务器ovs部署方式。而DPU bluefield 2&#xff0c;其要求ovs从服务器上转移到DPU上&#xff0c;这影响现有上层neutron架构&#xff0c;改造量大。 前置信息 OFED代码版本&#xff1a;Linux In…

Scratch 猴子踢球

scratch 猴子踢球 本程序转为HTML后运行&#xff0c;“猴子”角色跟随鼠标移动&#xff0c;“沙滩球”角色开始时生成20个并移动到随机位置&#xff0c;在碰到“猴子”角色时开始移动&#xff0c;碰到边缘或其它角色时反弹。 图形化程序如下 “沙滩球”角色 “猴子”角色

spring 详解四 IOC(spring Bean生命周期)

spring生命周期概述 spring Bean的生命周期是从Bean实例化之后&#xff0c;即通过反射创建对象之后&#xff0c;到Bean成为一个完整对象&#xff0c;最终存储在单例池中&#xff0c;然后在销毁的过程被称为spring Bean的生命周期&#xff0c;这部分不会介绍销毁过程&#xff0…

Spring限流之限流方案分析

文章目录 1 限流方案1.1 引言1.2 常用限流策略1.3 基于guava限流实现1.3.1 引入guava依赖1.3.2 自定义限流注解1.3.3 限流AOP类1.3.4 测试接口 1.4 基于sentinel限流实现1.4.1 引入sentinel核心依赖包1.4.2 自定义限流注解1.4.3 自定义AOP类实现限流1.4.4 自定义测试接口 1.5 基…

独立和相关(线性)的关系

相关(线性)>不独立 不相关(线性) 推不出 独立 (是因为不一定线性相关,可以沿曲线相关)

一起学SF框架系列5.7-模块Beans-BeanDefinition解析

开发人员按元数据规则定义了应用bean&#xff0c;了解SF如何根据定义解析成BeanDefiniton有助于深入理解框架实现。解析过程如下&#xff1a; 资源加载 从资源文件加载bean的元数据配置&#xff0c;实际过程如下图&#xff1a; 实际从指定的XML文件加载bean定义是从XmlBeanD…

电脑pdf如何转换成word格式?分享这三个方法给大家!

记灵在线工具是一个非常方便的PDF转Word工具&#xff0c;它可以帮助用户快速、准确地将PDF文件转换为Word格式。以下是使用步骤&#xff1a; 打开您的网络浏览器&#xff0c;访问记灵在线工具的官方网站。 在首页上找到并点击“PDF转Word”选项。 在新打开的页面中&#xff0…

如何在 SwiftUI 中配置 SwiftData

文章目录 前言创建模型模式和版本控制迈出关键的一步创建迁移计划创建模型容器从视图中查询模型从视图中访问模型上下文总结 前言 在 WWDC 2023 上&#xff0c;Apple 宣布了一个备受期待的新持久性刷新&#xff0c;以一种新的框架形式出现&#xff1a;SwiftData。SwiftData 从…

【设计模式】设计模式前置知识:UML类图入门

UML类图 介绍 UML–Unified modeling language UMl(统一建模语言)&#xff0c;是一种用于软件系统分析和设计的语言工具&#xff0c;它用于帮助软件开发人员进行思考和记录思路的结果UML本身是一套符号的规定&#xff0c;就像数学符号和化学符号一样&#xff0c;这些符号用于…

来啦!OceanBase 第7期技术征文活动获奖名单公布!

“小鱼”的诞生与成长离不开广大开发者的陪伴与支持&#xff0c;我们非常兴奋能把 4.1 版本的这一系列新能力带给大家&#xff0c;“小鱼”会游得更快更远&#xff0c;也会陪伴更多数据库开发者一同成长。 OceanBase 联合墨天轮技术社区&#xff0c;举行「4.1 上手体验」第五届…

基于SpringBoot+Hadoop+Vue的企业网盘系统

完整资料进入【数字空间】查看——baidu搜索"writebug" 1.1.1 选题的背景 随着信息网络技术的迅猛发展&#xff0c;云计算技术从它的概念提出已经开始在实际生产环境中使用了。大部分的东西都已经慢慢云端化&#xff0c;这种新型的技术也受到许多互联网人员的关注&a…

初阶C语言——三子棋

我们今天讲一个小游戏&#xff0c;三子棋大家应该都玩过吧&#xff0c;就是行和列&#xff0c;或者对角线上有一样大的字符时&#xff0c;就为获胜&#xff0c;今天我们就来写这样的一个代码实现这样的功能 首先我们要创建两个源文件和一个头文件 头文件game.h用来包含我们的头…

EmEditor制表符设置为空格

以下是具体操作 工具 - 当前配置属性 - 常规 - 制表符/缩进 - 将制表符转换为空格 前打对钩

作业怎么清除试卷笔迹?拿捏可以擦除答案的方法

在日常学习中&#xff0c;我们经常会遇到需要修改或擦除试卷上的笔迹的情况。本文将介绍一种简单实用的方法&#xff0c;即使用手机拍照扫描试卷并擦除答案。 手机拍照扫描试卷 首先&#xff0c;我们需要使用手机拍照扫描试卷。这一步非常简单&#xff0c;只需要将试卷平铺在桌…

集成学习-BaggingVoting和多个模型的混淆矩阵

当涉及到集成学习时&#xff0c;投票法和袋装法是两种常见的技术&#xff0c;用于将多个基学习器&#xff08;base learner&#xff09;组合成一个强大的集成模型。 投票法&#xff08;Voting&#xff09;&#xff1a;投票法是一种简单且常用的集成学习方法。在投票法中&#…

Django_设置和读取cookie

设置cookie 在响应对象中使用set_cookie方法设置cookie from django.http import HttpResponsedef set_cookie(request):rsp HttpResponse("set cookie")rsp.set_cookie("set_cookie", "hello python", max_age3600)return rsp 注&#xff1…

Latex更改字体颜色以及快速生成 SCI 论文的 revised version 和 pure version

记录一下如何更改 Latex 字体颜色&#xff0c;在返修 SCI 论文时&#xff0c;如何较为快捷地完成 revised version 和 pure version 两个不同版本修改稿件的编辑与生成。 更改字体颜色 导入宏包 在 LaTeX 中&#xff0c;使用 \textcolor 命令或 \color 命令可以改变文本的颜…

十大机器学习算法之一:线性回归

十大机器学习算法之一&#xff1a;线性回归 1 知识预警1.1 线性代数1.2 矩阵微积分 2 什么是回归分析&#xff1f;3 线性回归3.1 一元线性回归3.2 多元线性回归 4 多项式回归 1 知识预警 1.1 线性代数 ( A T ) T A (A^\mathrm{T})^\mathrm{T}A (AT)TA$ ( A B ) T A T B T…

OpenHarmony社区运营报告(2023年6月)

本月快讯 • 6月12日&#xff0c;以“OpenHarmony共建开放&#xff0c;共享未来”为主题的2023开放原子全球开源峰会OpenAtom OpenHarmony&#xff08;以下简称“OpenHarmony”&#xff09;分论坛在北京北人亦创国际会展中心第一报告厅圆满落幕&#xff0c;根深叶茂&#xff0c…