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

news/2024/11/29 9:44:02/

2022-09 Python三级真题
分数:100  
题数:38
测试时长:60min

一、单选题(共25题,共50分) 
1.十六进制数100,对应的十进制数为 ?(  ) (2分)
A. 128 
B. 256 
C. 28 
D. 56
 

2.下图代码中,问号处应该填写的答案是哪个?(   )(2分)

>>hex( ? )
'0xa'
>>

A. "9"
B. 9
C. "10"
D. 10
 

3.下列4个表达式中,答案不是整数6的是?(   )(2分)
A. abs(-6)
B. int(6.88) 
C. round(5.55)
D. min(float(6),9,8,7)
 

4.min()函数用于获取参数中的最小值,如果 a = min('654') ,请问下面表达式中,正确的是哪一个?(  )(2分)
A. print(max(chr(a),3,2))
B. print(max(bin(a),3,2))
C. print(max(float(a),3,2))
D. print(max(hex(a),3,2))
 

5.对于CSV格式数据文件,下列描述错误的是?(   )(2分)
A. CSV文件使用逗号分隔值。
B. CSV文件的扩展名为.CS。
C. CSV格式是一种通用的,相对简单的文件格式。
D. “记事本”和“Excel”可直接读入和保存CSV格式文件。

6.下列程序将建立一个CSV格式文件,划线处正确的代码选项应该为?( )(2分)

a=['老虎','狗','大象','牛']

f=open('动物.CSV',______)
f.write(','.join(a)+'\n')
f.close()

A. 'W'
B. 'R'
C. 'w'
D. 'r'

7.动物.CSV的文件内容如下:'老虎', '狗', '大象', '牛',下列程序从该CSV文件读出数据,并输出列表格式,划线处正确的代码选项应该为?( )(2分)

f=open('动物.CSV','r')
a=f.read().strip().split(______)
f.close()
print(a)

A. ','
B. ','
C. '\n'
D. '\t'


8.下面程序生成CSV格式文件: 
王鑫,86,90,92,99,94,95 
杨小虹,93,97,95,90,86,85 
李静,89,98,99,94,90,85 

程序如下:

a=[['王鑫','86','90','92','99','94','95'],
['杨小虹','93','97','95','90','86','85'],
['李静','89','98','99','94','90','85']]
f=open('成绩.CSV','w')
for i in a:
  f.write(','.join(i)+______)
f.close()

划线处的代码应该为?( )

A. 'r'
B. 'w'
C. '\t'
D. '\n'
 

9.一个“成绩.CSV”文件(用“记事本”打开)如下:

王鑫,86,90,92,99,94,95
杨小虹,93,97,95,90,86,85
李静,89,98,99,94,90,85

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

f=open('成绩.CSV','r')

a=[]
for i in f:
    a.append(i.strip().split(','))
f.close()
print(a)

A. [['王鑫', '86', '90', '92', '99', '94', '95'], ['杨小虹', '93', '97', '95', '90', '86', '85'],['李静', '89', '98', '99', '94', '90', '85']]
B. [['王鑫', '86', '90', '92', '99', '94', '95\n'], ['杨小虹', '93', '97', '95', '90', '86', '85\n'],['李静', '89', '98', '99', '94', '90', '85\n']]
C. [['王鑫,86,90,92,99,94,95'], ['杨小虹,93,97,95,90,86,85'], ['李静,89,98,99,94,90,85']]
D. ['王鑫,86,90,92,99,94,95\n', '杨小虹,93,97,95,90,86,85\n', '李静,89,98,99,94,90,85\n']

10.猜一个2022以内的随机数,用计算机解决该问题,比较合适的算法?(  )(2分)
A. 二分查找算法
B. 解析算法
C. 枚举算法
D. 冒泡排序算法

11.现在一组初始记录无序的数据'8,9,5,2,1',使用冒泡算法,按从小到大的顺序排列,则第三轮排序的结果为?(   )(2分)
A. [8,5,2,1,9]
B. [2,1,5,8,9]
C. [5,2,1,8,9]
D. [1,2,8,9,5]
 

12.有如下列表a=[3,5,35,74,1,28,7],采用选择排序算法进行升序排序,请问第三轮排序之后的结果是?(  )(2分)
A. [1,3,5,35,74,28,7]
B. [1,3,5,7,28,35,74]
C. [1,3,5,74,35,28,7]
D. [1,3,5,7,35,74,28]

13.程序运行过程中出现的错误或意外,不包括以下选项?(  )(2分)
A. 语法错误
B. 电脑不好
C. 运行错误
D. 逻辑错误

14.关于Python在处理程序异常时,下列说法不正确的是?(  )(2分)
A. 每一个try模块只能设定一个except模块
B. 执行except模块部分,可以让程序继续运行
C. 程序有错误时执行except中的代码,没有错误时执行try中的代码
D. 异常处理可以弥补程序漏洞,使得程序在一些情况下不会终止运行。
 

15.divmod()函数的功能是用来求模和计算余数。对应变量x和y,divmod(x,y)返回的结果是以下哪一项?(  )(2分)
A. (x//y, x%y)
B. (x/y, x%y)
C. (x%y, x//y)
D. (x%y, x/y)


16.bool()函数用于将给定参数或表达式转换为布尔类型,以下使用了bool()函数的实例中,哪项返回True值?(  )(2分)
A. bool(0)
B. bool( )
C. bool(15*15+14*14<420)
D. bool(-1)

17.查看对象的属性和属性值等信息,可以使用以下哪种函数?( )(2分)
A. vars()
B. dir()
C. help()
D. map()

18.round(20/3) 的返回值是以下哪一项?( )(2分)
A. 6
B. 2
C. 7
D. 1

19.语句sorted([9,6,8,2,5],reverse = True)的返回结果是以下哪一项?(  )(2分)
A. [2,5,6,8,9]
B. [9,6,8,2,5]
C. [9,8,6,5,2]
D. [0]

20.执行语句"{1}{0}".format("中国", "加油","!"),输出结果是以下哪一项?(  )(2分)
A. '中国加油!'
B. '加油中国!'
C. '中国加油'
D. '加油中国'

21.关于语句float(2022)与float('2022')运行后的输出结果,以下哪一项正确?( )(2分)
A. 均为2022
B. 均为2022.0
C. float(2022)的输出为2022,float('2022')运行后出错
D. float(2022)的输出为2022.0,float('2022')运行后出错

22.语句max([(1,2),(2,3),(3,4),(2,5)])运行后的输出结果是以下哪一项?(  )(2分)
A. 5
B. (2,5)
C. (4,5)
D. (3, 4)

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

下列程序
example = '7890'
for i,j in enumerate(example):
    print(i,j)

运行后的输出打印结果为以下哪一项?  (  )

A. 

0,0
1,7
2,8
3,9

B. 

0,7
1,8
2,9
3,0

C. 

0 0
1 7
2 8
3 9

D. 

0 7
1 8
2 9
3 0

24.关于all()函数的用法,以下语句中能够返回True值的是哪一项?( )(2分)
A. all(0)
B. all([0])
C. all([0,1,2])
D. all(['0','1','2'])

25.如果要设计班级通讯录管理功能,需要往address.csv文件中追加新记录,(2分)则应该使用以下哪一种打开文件的方式?( )
A. open('address.csv','a+')
B. open('address.csv','w+')
C. open('address.csv','wb+')
D. open('address.csv','rb+')

二、判断题(共10题,共20分)
26.有这样一个表达式:ord('a') - ord('A') ,这个表达式运行的结果是整数 32 。(  )
 

27.一维数据的存储常常采用空格、逗号、换行、分号等符号分隔元素。( )
 

28.a=[['王鑫','86','90','92','99','94','95'],['杨小虹','93','97','95','90','86','85'],['李静','89','98','99','94','90','85']]其中,杨小虹同学的第三门成绩95的数据类型是整数。( )
 

29.二维数据的处理等同于二维列表的操作,借助循环遍历可实现对每个数据的处理。( )
 

30.关于程序的异常处理,可以使用try…except…或try…except…except…语句进行捕获控制。(  ) 
 

31.使用input()函数可以一次从键盘输入一个字符串,按回车键结束输入。(  )

32.set是一个不允许元素重复的集合。由于set里的元素位置允许随意,所以不能用索引访问。(  )

33.help()函数用来查看函数或模块的帮助信息,但不能直接查看对象里所提供方法的帮助信息。(  )

34.sum()函数可以对列表进行求和,但不能对元组进行求和。(  )

35.在Python编程语言中,'0b10' 表示二进制数10,并且这个数换算为十进制,就是整数2。(  )
 

三、编程题(共3题,共30分)
36.如下图有一个名为“book.csv”的文件,小明想计算所有库存书籍的总价,于是编写了下面代码。请将红色①②处的代码补充完整。

b = 0
s = 0
with open('/data/book.csv', 'r', encoding='utf-8') as f:for line in f.  ___①____   ():a = line.strip("\n").split(",")b = b+1if b >1: # 第一行是标题,所以从第二行开始计算s = s +   int(a[1]) *  _____②____   
print('总价:' , s)


参考程序:

b = 0
s = 0
with open('/data/book.csv', 'r', encoding='utf-8') as f:for line in f.readlines():a = line.strip("\n").split(",")b = b+1if b >1:   # 第一行是标题,所以从第二行开始计算s = s +   int(a[1]) * int(a[2]) 
print('总价:' , s)


评分标准:
(1)readlines  (2分)
(2)int(a[2])  (2分)
r 表示只读取,readlines是按行读取所有的行。

37.小敏想用二分法对关键字14进行查找,请你帮她补全代码。

lst=[3,12,7,45,9,10,31,90,1,23,14,52]
______①________    
key=14
n=len(a)
i,j=0,n-1
flag=-1
while ______②________ :mid=(i+j)//2if key==a[mid]:flag=midbreakelif key>a[mid]:_____③_______      else:j=mid-1
if  _______④________      :print(str(key)+'没找到!')
else:print(str(key)+'已找到!')

参考程序:

lst=[3,12,7,45,9,10,31,90,1,23,14,52]
a=sorted(lst)
key=14
n=len(a)
i,j=0,n-1
flag=-1
while i<=j:mid=(i+j)//2if key==a[mid]:flag=midbreakelif key>a[mid]:i=mid+1else:j=mid-1
if flag==-1:print(str(key)+'没找到!')
else:print(str(key)+'已找到!')

评分标准:

(1)a=sorted(lst) 或等效答案;(3分)
(2)i<=j 或等效答案;(2分)
(3)i=mid+1 或等效答案;(3分)
(4)flag==-1 或等效答案。(2分)

38.标准考试答题卡一般采用2B铅笔填涂,填涂好的答题卡经过扫描后得到相应的数字化图像,再通过光学识别,完成答题卡信息数据的采集、分析与统计。计算机判断答题卡中信息点被填涂的标准是灰度值小于132为黑色,灰度值大于等于132为白色。灰度值计算公式:灰度值=0.299×红色分量(R)+0.587×绿色分量(G)+0.114×蓝色分量(B),若分别输入n个信息点的RGB颜色值,则其判断程序如下:  

n=int(input("请输入信息点个数:"))count=0for i in range(1,n+1):R=int(input(”请输入红色分量:”)) ______①________B= int(input(”请输入蓝色分量:”)) Gray_scale= _______②________if  ______③_____ :print(“黑色”) count=count+1else: print(“白色”) print("黑色像素总共有:"+ ④ +"个")


参考程序:

n=int(input("请输入信息点个数:"))
count=0
for i in range(1,n+1):R=int(input("请输入红色分量:"))G=int(input("请输入绿色分量:"))B=int(input("请输入蓝色分量:"))Gray_scale=0.299*R+0.587*G+0.114*Bif Gray_scale<132:print("黑色")count=count+1else:print("白色")
print("黑色像素总共有:"+str(count)+"个")


评分标准:
(1)G=int(input(”请输入绿色分量:”))或等效答案;(4分)
(2)0.299*R+0.587*G+0.114*B 或等效答案;(4分)
(3)Gray_scale<132 或等效答案;(4分)
(4)str(count) 或等效答案。(4分)
————————————————
版权声明:本文为CSDN博主「Lemon Liu」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/m0_46227121/article/details/127863568


http://www.ppmy.cn/news/753559.html

相关文章

OpenCV读取一张8位无符号单通道图像并显示

#include <iostream> #include <opencv2/imgcodecs.hpp> #include <opencv2/opencv.hpp> #include

Android 键盘工具类

/*** 禁止EditText输入空格、特殊符号* 设置自定义InputFilter后&#xff0c;xml文件中的maxlength属性失效&#xff0c;需手动添加LengthFilter** param editText 输入框* param length 输入框限制的字符长度*/private fun setEditTextInhibitInputSpaChat(editText: EditTe…

android 模拟键盘鼠标

1&#xff0c;新建一个android 项目 2&#xff0c;新建主activity类 package test.yutel;import android.app.Activity; import android.os.Bundle;public class RemoteActivity extends Activity {Overridepublic void onCreate(Bundle savedInstanceState) {super.onCreate(…

手机键盘

题目1079&#xff1a;手机键盘 时间限制&#xff1a;1 秒 内存限制&#xff1a;32 兆 特殊判题&#xff1a;否 提交&#xff1a;1516 解决&#xff1a;802 题目描述&#xff1a; 按照手机键盘输入字母的方式&#xff0c;计算所花费的时间 如&#xff1a;a,b,c都在“1”键上&…

android 自定义软键盘

哦然间发现了android.inputmethodservice.Keyboard类&#xff0c;即android可以自定义键盘类&#xff0c;做了一个简单例子供大家参考&#xff0c; 首先看看效果图&#xff1a; 键盘内容布局&#xff1a;keycontent.xml <?xml version"1.0" encoding"utf-8…

安卓webview软键盘遮住底部按钮,又名AndroidBug5497

一、背景介绍 首先介绍关于adjustSize与adjustpan 在manifest文件设置activity的windowSoftInputMode设置为 adjustPan 或者adjustResize adjustPan会在软键盘弹出的时候平推整个界面&#xff0c;整个界面的大小不变的。缺点&#xff1a; 你编辑的部分会上弹到软键盘上面…

andriod 软键盘

软键盘显示的原理 软件盘的本质是什么&#xff1f;软键盘其实是一个Dialog。 InputMethodService为我们的输入法创建了一个Dialog&#xff0c;并且将该Dialog的Window的某些参数&#xff08;如Gravity&#xff09;进行了设置&#xff0c;使之能够在底部或者全屏显示。当…

如何在Android手机上更改键盘

There are more keyboard apps available on Android than you’d care to try, but we do recommend trying at least a few of the best keyboard apps to find something you like. When you do, here’s how to get it going on your Android phone. Android上可用的键盘应…