2022年09月青少年软件编程Python三级真题试卷
一、单选题 (共25题,共50分)
1) 十六进制数100,对应的十进制数为?




查看答案
2) 下面代码中,问号处应该填写的答案是哪个? 
>>>hex(?)
'0xa'
>>>




查看答案
3) 下列4个表达式中,答案不是整数6的是?




查看答案
4) min() 函数用于获取参数中的最小值,如果 a=min(”654’), 请问下面表达式中,正确的是哪一个?




查看答案
5) 对于CSV 格式数据文件,下列描述错误的是?




查看答案
6) 下列程序将建立一个 CSV 格式文件,划线处正确的代码选项应该为?
a=[’ 老虎’,’狗’,’大象’,’牛’]
f=open(’动物.CSV’, ________)     
f.write(','.join(a)+'\n')
f.close()




查看答案
7) 动物.CSV的文件内容如下:’老虎’,’狗’,’大象’,’牛’,下列程序从该CSV文件读出数据,并输出列表格式,划线处正确的代码选项应该为? 
f=open('动物.CSV','r')
a=f.read().strip().split(________)                     
f.close()
print(a)




查看答案
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()
划线处的代码应该为?




查看答案
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)




查看答案
10) 猜一个2022以内的随机数,用计算机解决该问题,比较合适的算法?




查看答案
11) 现在一组初始记录无序的数据”8,9,5,2,1’,使用冒泡算法,按从小到大的顺序排列,则第三轮排序的结果为? 




查看答案
12) 有如下列表 a=[3,5,35,74,1,28,7],采用选择排序算法进行升序排序,请问第三轮排序之后的结果是?




查看答案
13) 程序运行过程中出现的错误或意外,不包括以下选项?




查看答案
14) 关于Python在处理程序异常时,下列说法不正确的是?




查看答案
15) divmod()函数的功能是用来求模和计算余数。对应变量x 和 y,divmod(x,y)返回的结果是以下哪一项?




查看答案
16) bool)函数用于将给定参数或表达式转换为布尔类型,以下使用了bool) 函数的实例中,哪项返回True值?




查看答案
17) 查看对象的属性和属性值等信息,可以使用以下哪种函数?




查看答案
18) round(20/3) 的返回值是以下哪一项?




查看答案
19) 语句sorted([9,6,8,2,5],reverse =True)的返回结果是以下哪一项? 




查看答案
20) 执行语句”{1}{0}".format("中国”,"加油”,"!"),输出结果是以下哪一项?




查看答案
21) 关于语句 float(2022) 与 float(2022’) 运行后的输出结果,以下哪一项正确?




查看答案
22) 语句max([(1,2),(2,3),(3,4),(2,5)]) 运行后的输出结果是以下哪一项? 




查看答案
23) enumerate() 函数用于将一个可遍历的数据对象(如列表、元组或字符串)组合为一个索引序列。下列程序
example=’7890'
for i,j in enumerate(example)
    print(i,j)
运行后的输出打印结果为以下哪一项? 




查看答案
24) 关于all() 函数的用法,以下语句中能够返回True 值的是哪一项?




查看答案
25) 如果要设计班级通讯录管理功能,需要往 address.csv 文件中追加新记录,则应该使用以下哪一种打开文件的方式? 




查看答案
二、判断题 (共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”的文件,小明想计算所有库存书籍的总价,于是编写了下面代码。请将红色①②处的代码补充完整。
小鹏STEM题库
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+1
        if b>1:# 第一行是标题,所以从第二行开始计算
            s=s + int(a[1])* ____②____

print('总价:’, s)
查看答案
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)//2
    if key==a[mid]:
        flag=mid
        break
    elif key>a[mid]:
        ________③________
    else:
        j=mid-1

if ________④________
    print(str(key)+ '没找到!’)
else:
    print(str(key)+ '已找到!’)
查看答案
38) 标准考试答题卡一般采用2B铅笔填涂,填涂好的答题卡经过扫描后得到相应的数字化图像,再通过光学识别,完成答题卡信息数据的采集、分析与统计。计算机判断答题卡中信息点被填涂的标准是灰度值小于132 为黑色,灰度值大于等于132为白色。灰度值计算公式:灰度值=0.299×红色分量(R)+0.587× 绿色分量(G)+0.114×蓝色分量 (B), 若分别输入n 个信息点的RGB 颜色值,则其判断程序如下:
n=int(input("请输入信息点个数:"))
count=0
for i in range(1,n+1):
    R=int(input("请输入红色分量:"))
    ________①________
    B=int(input("请输入蓝色分量:")
    Gray_scale= ________2________
    if ________③________
        print("黑色")
        count=count+1
    else:
        print(“白色”)

print("黑色像素总共有:"+____④____+”个”)
查看答案