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

news2024/11/26 16:29:58

2023-03 Python三级真题

分数:100 

题数:38

测试时长:60min

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

1.十进制数111转换成二进制数是?( )(2分)

A.111

B.1111011

C.101111

D.1101111

2.某班有36人,王老师想给每位同学分配一个二进制的学号,那么该学号至少需要多少位?( )(2分)

A.36

B.5

C.6

D.7

3.数据的存储形式多种多样,如s1=[[“李亮”,“98”],[“王宁宁”,“95”],[“莫晓珍“,“88”]],s2=[“李亮”,“98”,“王宁宁”,“95”,“莫晓珍“,“88”],有关s1与s2下列说法正确的是?( )(2分)

A.都是用列表实现的

B.s1是一维列表

C.s2是二维列表

D.要取出“王宁宁”同学的成绩,方法是一样的,用s1[4]或s2[4]

4.a=["跳绳","跳高","跳远","铅球"]

fs=open("sports.csv","w")

fs.write(" ".join(a)+'\n')

fs.close()

关于上述代码,下列说法正确的是?( )(2分)

A.若”sports.csv”文件不存在,则程序出错

B.程序的最后结果是:跳绳 跳高 跳远 铅球

C.程序中的fs.close()代码可有可无

D.“w”参数表示不能修改原csv文件

5.现有水果价格数据jg=[[‘草莓’,15],[‘梨子’,9],[‘苹果’,10],[‘桔子’,4]],需要将其打印成二维表格数据形式,程序代码如下:

jg=[[‘草莓’,15],[‘梨子’,9],[‘苹果’,10],[‘桔子’,4]]
 
for row in range(len(jg)):
 
    for col in range(len(jg[row])):
 
        print(____________,”\t”)
上述划线处代码是?( )(2分)

A.jg[row]

B.jg[col]

C.jg[col][row]

D.jg[row][col]

6.运行下列程序段:

try:
 
  a=int(input("请输入被除数:"))
 
  b=int(input("请输入除数:"))
 
  x=a/b
 
  print("商是:",x)
 
except:
 
  print("输入有错!请检查。")
 
else:
 
  print("正确!")
 
finally:
 
   print("程序结束。")

若输入a为8,b为4,则输出结果是?( )(2分)

A.

商是:2

正确!

B.

商是:2

正确!

程序结束。

C.

商是:2.0

程序结束。

D.

商是:2.0

正确!

程序结束。

7.已知A的ASCII码值为65,

s=”China”
 
k=abs(-4.8)
则表达式ord(min(s))+k的值是?( )(2分)

A.71.8

B.63

C.61

D.62

8.divmod(8,5)的结果是?( )(2分)

A.1

B.3

C.(1,3)

D.[1,3]

9.若有代码:

name=[“李明”,“王宁”,“朱倩”]
 
for a,i in enumerate(name):
 
    print(a,i)
则显示的结果是?( )(2分)

A.

0  李明

1  王宁

2  朱倩

B.

李明

王宁

朱倩

C.李明,王宁,朱倩

D.

1 李明

2 王宁

3 朱倩

10.有关于print()语句的运用,下列输出结果有误的是?( )(2分)

A.print(“Happy!”)

B.print(李明)

C.print('Happy!’)

D.print(2023)

11.若s=”y\nea\tr”,则len(s)的值为?( )(2分)

A.8

B.4

C.6

D.5

12.b=[1,2,3,4,5],则sum(b)的值是?( )(2分)

A.10

B.14

C.15

D.12

13.某算法的流程图如图所示,则该流程图的结构属于?( )(2分)

A.顺序结构

B.分支结构

C.树形结构

D.循环结构

14.有如下代码:

a=[25,37,49,64,73,75,85,91]
 
t=i=0
 
j=len(a)-1
 
key=int(input())
 
while i<=j:
 
    m=(i+j)//2
 
    if  a[m]==key:
 
        break
 
    elif a[m]>key:
 
        j=m-1
 
    else:
 
        i=m+1
 
    t+=1
 
 
 
print(t)

若输入的key值是73,则程序输出的结果是?(  )(2分)

A.5

B.1

C.2

D.3

15.hex函数可以将十进制数转换成十六进制数。在Python交互式编程环境下,执行语句hex(2023)后,显示的运行结果是?( )(2分)

A."0x7e3"

B."0x7e6"

C."0x7e7"

D."0x7e8"

16.int() 函数用于将一个字符串或数字转换为整型。在Python交互式编程环境下执行以下语句,会出现错误的一项是?( )(2分)

A.int()

B.int(1.0)

C.int(0x20,16)

D.int('2023',8)

17.一维数据可以存储在CSV格式文件中,下列描述正确的是?( )(2分)

A.必须采用逗号分隔数据元素

B.必须采用空格来分隔数据元素

C.必须采用分号分隔数据元素

D.允许采用特殊字符来分隔数据元素

答案解析:CSV格式文件允许采用特殊字符来分隔数据元素。

18.如果需要使用open函数以可读可写的方式打开一个存储二维数据的CSV文件,则open函数的文件打开模式不能设置成?( )(2分)

A.rw

B.r+

C.w+

D.a+

19.在try....except...else...finally异常处理机制中,如果发生异常则完全不会被执行的代码块是?( )(2分)

A.try代码块

B.except代码块

C.else代码块

D.finally代码块

20.下列数据对象中,不能使用len()函数获取数据对象长度的是?( )(2分)

A.2023

B.[2, 0, 2, 3]

C.["Go", "China!"]

D.("Go", "China!")

21.在Python交互式编程环境下,输入print(list(range(0,5,2)))语句,执行的结果是?( )(2分)

A.存在语法错误,不能执行

B.[0,1]

C.[0, 1,2, 3,4,5]

D.[0, 2, 4]

22.在交互式编程环境下,执行all([0,1,2,3])语句后,返回的值是?( )(2分)

A.True

B.False

C.1

D.4

23.在交互式编程环境下,输入float("1")语句,执行的结果是?( )(2分)

A.1

B.1.0

C.'1'

D.传入参数错误,不能执行

24.在交互式编程环境下,输入max([(1,2),(2,3),(3,4),(2,6)])语句,执行的结果是?( )(2分)

A.6

B.(3, 4)

C.(2,6)

D.(3,6)

25.“鸡兔同笼”是一个古老的数学问题,可以应用枚举法求解,也可以利用二元一次方程进行求解。以下是使用计算机解决“鸡兔同笼”问题的几个步骤:

①编写Python程序,用计算机进行处理。

②设计“鸡兔同笼”求解算法。

③验证算法的功能和性能。

④分析问题,确定解题任务。

使用计算机解决“鸡兔同笼”问题,正确的步骤是?( )(2分)

A.②④①③

B.④①②③

C.④②③①

D.④②①③

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

26.若name为若干元素的列表对象,file为CSV文件,则file.write(‘,’.join(name)+’\n’)语句可确保列表中每个写入CSV文件的数据,在表格软件打开时作为一个单元格存在。( )

27.当程序发生异常时,我们可以用try…except…语句进行异常处理。但每个try模块只能有一个except语句块。( )

28.float()函数可将整数转换为浮点类型数据,但不能将字符串中的数字转换为浮点类型数据。( )

29.在执行语句x=input()的过程中,若键盘输入23并按下回车键,则x的值就被赋值为整数23。( )

30.Python语言中,bin()函数可以输出二进制数值,也可以传入参数用来设置输出为十六进制数值。( )

31.任何二维数据都可以用二维列表来表示。( )

32.执行语句wq=[[0]*19]*19可以创建一个19行及19列的二维表。( )

33.bool()函数用于将给定参数或表达式转换为布尔类型。语句bool(-1)返回的是False值。( )

34.enumerate()函数用于将列表、元组或字符串等可遍历的数据对象组合为一个索引序列。( )

35.十六进制9E的二进制数是8位。( )

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

36.

百钱买百鸡(完成)

是我国古代数学家张丘建在《算经》一书中提出的数学问题,问题的原文是:鸡翁一值钱五,鸡母一值钱三,鸡雏三值钱一。百钱买百鸡,问鸡翁、鸡母、鸡雏各几何?这个问题用现代文描述起来就是:公鸡5文钱1只,母鸡3文钱1只,小鸡3只1文钱。如果用100文钱买100只鸡,那么公鸡、母鸡和小鸡各应该买多少只呢?请完成下面程序中空白处的语句,实现对问题的求解,找出所有符合题目要求的买鸡方案,并输出。

#设cock、hen、chicken分别为公鸡、母鸡和小鸡的数量,num为符合题目要求的方案数目。
 
num=0
 
for cock in range(1,21):
 
    for hen in range(1,34):
 
        for chicken in        ①        : 
 
            if         ②        == 100 and cock*5 + hen*3 + chicken/3 ==     ③        :
 
                num =        ④       
 
                print(f'第 {num} 种方案是:公鸡{cock}只,母鸡{hen}只,小鸡{chicken}只')
 
 
 
 
 
参考程序:
 
#设cock、hen、chicken分别为公鸡、母鸡和小鸡的数量,num为符合题目要求的方案数目。
 
num=0
 
for cock in range(1,21):
 
    for hen in range(1,34):
 
        for chicken in range(1,101):
 
            if cock+hen+chicken == 100 and cock*5 + hen*3 + chicken/3 == 100:
 
                num = num +1
 
                print(f'第 {num} 种方案是:公鸡{cock}只,母鸡{hen}只,小鸡{chicken}只')

37.

妙妙学校举行了知识竞赛,(完成)

有一、二、三3个班分别派出最优秀的5名代表参加此次竞赛。这15名代表的成绩存放于”jscj.csv”文件中,现在妙妙读取了其中的数据,数据内容如图所示:

 

下列代码实现了读取竞赛分数信息,并输出各班平均分的情况,请你补全代码。

import csv
 
with open("/data/jscj.csv",encoding="utf-8")as f:
 
    rows=list(        ①         (f))
 
    sum=[0,0,0]
 
    for row in rows[1:]:
 
        if int(row[0])==1:
 
            sum[0]+=int(row[2])
 
        elif int(        ②         )==2:
 
            sum[1]+=int(row[2])
 
        else:
 
            sum[2]+=int(row[2])
 
    for i in range(1,4):
 
            print(str(i)+"班的平均分为:",round(        ③         /5,2))
 
 
参考程序:
 
import csv
 
with open("/data/jscj.csv",encoding="utf-8")as f:
 
    rows=list(csv.reader(f))    采用csv来读取信息
 
    sum=[0,0,0]                 这就是和的初始化
 
    for row in rows[1:]:        信息从第二行开始,因为第一行是文字介绍, 班级,成绩那些
 
        if int(row[0])==1:      如果显示1,就是一班的
 
            sum[0]+=int(row[2])    sum的第一个数放一班的和
        elif int(row[0])==2:     如果显示2,就是2班的
 
            sum[1]+=int(row[2])     sum的第2个数放2班的和
        else:                     如果显示3,就是3班的
 
            sum[2]+=int(row[2])    sum的第3个数放3班的和
 
    for i in range(1,4):
 
            print(str(i)+"班的平均分为:",round(sum[i-1])/5,2))   round() 方法返回浮点数x的四舍五入值。


本题主要考查文件的读取操作和计算思维。第一空为利用csv模块的reader对象读取文件内容;第二空属于分支结构的第二个分支,由第一个分支可知这里为讨论班级是否是2班,因此仍然是读取row[0]的数据;第三空是计算每个班的平均分,班级和循环变量i有关,sum中对应班级的索引和循环变量i相差1,故为sum[i-1]。

38.

若要生成一个由若干小写字母组成的互不重复的随机数组,

已知小写字母的ASCII码值为97~122整数范围,并将其进行从小到大输出,如图所示,请将相关程序补充完整。

import random  #random是随机数模块
n=int(input("请输入元素个数(不超过26):"))
a=[]
 
#产生不重复的随机数组
for i in range(n):
    x=random.randint(97,122)  #产生97-122之间的随机整数
    while chr(x) in a:
        x=random.randint(97,122)
    a.append(        ①         )
print(a)
 
#将各个元素进行排序输出
 
for i in range(n-1):
    k=i
    for j in range(        ②         ,n):
        if a[k]>a[j]:
 
            k=        ③        
    if i!=k:
 
        a[i],a[k]=        ④        
 
print("该随机数组从小到大排列为:",a)
 
 
 
 
参考程序:
import random  #random是随机数模块
n=int(input("请输入元素个数(不超过26):"))
a=[]
#产生不重复的随机数组
 
for i in range(n):
 
    x=random.randint(97,122)  #产生97-122之间的随机整数
 
    while chr(x) in a:
 
        x=random.randint(97,122)
 
    a.append(chr(x))
 
print(a)
 
#将各个元素进行排序输出
 
for i in range(n-1):
    k=i
    for j in range(i+1,n):
 
        if a[k]>a[j]:
 
            k=j
 
    if i!=k:
 
        a[i],a[k]=a[k],a[i]
 
print("该随机数组从小到大排列为:",a)


本题主要考查选择排序。程序的第一部分是产生不重复的字母组成的数组。由于x是97~122中的随机整数,故追加到a列表中的元素应在x的基础上将其转化为字符,故①空填写chr(x);

在选择排序中,外循环控制排序趟数,内循环控制排序次数,不难看出,i的取值范围为0~n-2,因此j每次从i的下一个位置开始至最后,故②处填写i+1;根据选择排序的原理,在j位置上找到比k位置更小的元素,则k移至该位置,故③处填写为j;在某趟排序过程中,当全部元素比较结束,应在最小元素位置上,需要将其交换到相应的i位置上,故④位置答案应为a[k],a[i]。

评分标准:

(1)chr(x);(4分)

(2)i+1;(4分)

(3)j;(4分)

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

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

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

相关文章

青岛大学_王卓老师【数据结构与算法】Week04_10_线性表的应用3_学习笔记

本文是个人学习笔记&#xff0c;素材来自青岛大学王卓老师的教学视频。 一方面用于学习记录与分享&#xff0c;另一方面是想让更多的人看到这么好的《数据结构与算法》的学习视频。 如有侵权&#xff0c;请留言作删文处理。 课程视频链接&#xff1a; 数据结构与算法基础–…

Spring Boot中的度量指标及使用方法

Spring Boot中的度量指标及使用方法 简介 Spring Boot是目前流行的Java后端框架之一&#xff0c;它提供了许多有用的功能&#xff0c;其中包括度量指标。度量指标可以帮助我们监测应用程序的性能、稳定性和可靠性&#xff0c;以便及时发现并解决问题。本文将介绍Spring Boot中…

使用Jetpack Compose集成WebView

在Android开发中&#xff0c;WebView是一个非常重要的组件&#xff0c;它可以用来显示网页或加载在线内容。然而&#xff0c;在Jetpack Compose&#xff08;Google推出的新的UI工具包&#xff09;中&#xff0c;目前没有内置的WebView Composable。但不必担心&#xff0c;你可以…

【数据算法与结构】栈和队列课后习题

题目&#xff08;共两道&#xff09; 题目1 Qestion: 根据下面代码片段写出运行下列程序段的输出结果(元素类型为char) 题目代码片段 void main() {Stack S; char x,y; InitStack(S); // 初始化栈x ‘e ‘; y ‘c’; Push(S, ‘h‘); Push(S, ‘r‘); Push(S,y);Pop(S,x);…

了解Java可见性的本质

作者&#xff1a;早恒 前一段时间重温了伪共享&#xff08;false sharing&#xff09;问题&#xff0c;了解到深处有几个问题一直想不明白&#xff0c;加上开发过程中遇到volatile时总觉得理解不够透彻&#xff0c;借着这次脑子里这几个问题&#xff0c;探究下Java可见性的本质…

【C语言】深入学习函数(万字)

&#x1f466;个人主页&#xff1a;Weraphael ✍&#x1f3fb;作者简介&#xff1a;目前正在回炉重造C语言&#xff08;2023暑假&#xff09; ✈️专栏&#xff1a;【C语言航路】 &#x1f40b; 希望大家多多支持&#xff0c;咱一起进步&#xff01;&#x1f601; 如果文章对你…

文件上传+文件包含组合式getshell

实验目的 通过本实验&#xff0c;了解文件包含的特点&#xff0c;掌握图片马的执行方法&#xff0c;文件上传文件包含组合式getshell。 实验环境 操作机&#xff1a;kali 靶机&#xff1a;Windows 2007 用户名/密码&#xff1a;college/360College 实验地址&#xff1a;http…

jenkins部署springboot项目

jenkins部署springboot项目 1、创建一个项目 上传到gitee 1、创建项目 2、上传到git 2、jenkins创建一个pipeline项目 Pipeline简介 1&#xff09;概念 Pipeline&#xff0c;简单来说&#xff0c;一套运行在 Jenkins 上的工作流框架&#xff0c;将原来独立运行于单个或者…

优化chatGPT提示词的Prompts

你扮演一个专业的chatGPT提示词工程师&#xff0c;我将为您提供我的提示词&#xff0c;它用三个反引号分隔&#xff0c;请根据openai发布的提示词标准和优化技巧&#xff0c;改进和优化我的提示词&#xff0c;让chatGPT能够更好的理解。 我的第一个提示词是&#xff1a;“”“……

【UI设计】新拟态风格

新拟态风格 1.有且只有一个光源照射 那作者在追波上按钮也好还是卡片处理也好&#xff0c;仔细观察不难发现&#xff0c;它定了一个光源&#xff0c;是从左上向右下照射的&#xff0c;所以&#xff0c;越靠近光源的部分&#xff0c;越亮&#xff0c;远离光源的越暗&#xff08;…

卡尔曼滤波实例分析(一)

1 现实问题 假设一个物体位于1000米处以自由落体运动&#xff0c;地面有一台具有特殊功能的雷达&#xff0c;对其进行观察&#xff0c;现需要对其下落的高度进行测量&#xff1b; &#xff08;1&#xff09;建模 速度&#xff1a;V gt 位置&#xff1a;Y -Vt Y0 &#xff0…

react笔记_06类组件

目录 复习展开运算符 组件什么叫做组件&#xff1f;分类类组件es6新增构造函数语法类组件渲染类组件的this指向类组件的三大属性state作用语法-初始化数据语法-修改state数据语法-获取state中的数据案例 propspropTypes属性(prop-types库)defaultProps属性 refs[1] 字符串形式的…

基于UFLD-v2的改进:UFLD-v2-plus

1 待解决问题 UFLD-v2是一个非常优秀的车道线检测模型。也有一些问题。 1 参数量太大&#xff0c;一个模型600M。 2 不能区分车道线。 2 工作内容 改进方法如下 2.1 降低参数量 对模型网络逐层参数量&#xff0c;可以发现&#xff0c;86%&#xff08;很久之前分析的&…

基于STM32+华为云IOT设计的智能浇花系统

一、前言 随着社会的不断发展和人们生活水平的逐渐提高,人们逐渐追求高质量的生活,很多人都会选择在家里或办公室种植一些花卉以净化家庭空气,陶冶情操,但是很多人忙于工作、学习、出差、旅游或者一些其他的原因,不能及时地对花卉进行照料,短时间内导致很多花卉因缺水分…

100天精通Golang(基础入门篇)——第13天:深入解析Go语言中的字符串(string)及常用函数应用

&#x1f337; 博主 libin9iOak带您 Go to Golang Language.✨ &#x1f984; 个人主页——libin9iOak的博客&#x1f390; &#x1f433; 《面试题大全》 文章图文并茂&#x1f995;生动形象&#x1f996;简单易学&#xff01;欢迎大家来踩踩~&#x1f33a; &#x1f30a; 《I…

怎么用爱问转换工具在线拆分PDF文件

我们平时在工作中会用到很多PDF文件&#xff0c;有的PDF文件内容很多&#xff0c;里面也有许多分类类别&#xff0c;其实对于这种内容多的PDF文件&#xff0c;可以使用拆分的方式&#xff0c;来获取自己需要的材料&#xff0c;那么&#xff0c;如何快速拆分PDF文件呢&#xff1…

VSCode离线安装Remote-SSH插件

最近想要在VSCode上安装Remote-SSH插件&#xff0c;以便可以远程登录云服务器进行开发或者文件编辑、文件传输等功能&#xff1b;但是VSCode中在线安装一直失败&#xff0c;所以记录一下离线安装的方法&#xff1b; 文章目录 一、下载VSCode Remote-SSH的离线插件&#xff0c;即…

python: PyCharm 2023.1打包项目成执行程序

IDE 最底部&#xff1a; pyinstaller -i heart.ico -D main.py 生成成功

Jenkins基础介绍以及docker安装Jenkins

Jenkins基础介绍以及docker安装Jenkins 什么是Jenkins&#xff1f; Jenkins是一个可扩展的持续集成引擎 持续集成就是通常说的CI&#xff08;Continues Integration&#xff09; 每次集成都通过自动化的构建&#xff08;包括编译&#xff0c;发布&#xff0c;自动化测试&am…

同一局域网内IP 192.168.1.10 和 IP 10.10.10.8 可以互相访问吗?

同一局域网内IP 192.168.1.10 和 IP 10.10.10.8 可以互相访问吗&#xff1f; 1、网上邻居的方式&#xff1a; 鼠标点击 我的电脑 属性 计算机名&#xff0c;查看一下 计算机名&#xff08;这个可以点击更改&#xff0c;自己设定和更改&#xff09; 查看一下工作组&#xff0c;一…