试卷 2022年9月青少年软件编程Python等级考试试卷(三级)
2022年9月青少年软件编程Python等级考试试卷(三级)
选择题
第 1 题    单选题

对于CSV格式数据文件,下列描述错误的是?

A.

CSV文件使用逗号分隔值

B.

CSV文件的扩展名为.CS。

C.

CSV格式是一种通用的,相对简单的文件格式。

D.

“记事本”和“Excel”可直接读入和保存CSV格式文件。

第 2 题    单选题

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

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

第 3 题    单选题

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

A.

abs(-6)

B.

int(6.88)

C.

round(5.55)

D.

min(float(6),9,8,7)

第 4 题    单选题

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

A.

"9"

B.

9

C.

"10"

D.

10

第 5 题    单选题

十六进制数100,对应的十进制数为?

A.

128

B.

256

C.

28

D.

56

第 6 题    单选题

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

A.

(x//y, x%y)

B.

(x/y, x%y)

C.

(x%y, x//y)

D.

(x%y, x/y)

第 7 题    单选题

关于Python在处理程序异常时,下列说法不正确的是?

A.

每一个try模块只能设定一个except模块

B.

执行except模块部分,可以让程序继续运行

C.

程序有错误时执行except中的代码,没有错误时执行try中的代码

D.

异常处理可以弥补程序漏洞,使得程序在一些情况下不会终止运行。

第 8 题    单选题

程序运行过程中出现的错误或意外,不包括以下选项?

A.

语法错误

B.

电脑不好

C.

运行错误

D.

逻辑错误

第 9 题    单选题

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

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]

第 10 题    单选题

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

A.

[8,5,2,1,9]

B.

[2,1,5,8,9]

C.

[5,2,1,8,9]

D.

[1,2,8,9,5]

第 11 题    单选题

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

A.

二分查找算法

B.

解析算法

C.

枚举算法

D.

冒泡排序算法

第 12 题    单选题

一个成绩.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']

第 13 题    单选题

下面程序生成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'

第 14 题    单选题

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

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

','

B.

','

C.


'\n'

D.

'\t'

第 15 题    单选题

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

a=['老虎','狗','大象','牛']
f=open('动物.CSV',______)
f.write(','.join(a)+'\n')
f.close()
A.

'W'

B.

'R'

C.

'w'

D.

'r'

第 16 题    单选题

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

A.

open('address.csv','a+')

B.

open('address.csv','w+')

C.

open('address.csv','wb+')

D.

open('address.csv','rb+')

第 17 题    单选题

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

A.

all(0)

B.

all([0])

C.

all([0,1,2])

D.

all(['0','1','2'])

第 18 题    单选题

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

第 19 题    单选题

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

A.

5

B.

(2,5)

C.

(4,5)

D.

(3, 4)

第 20 题    单选题

关于语句float(2022)与float('2022')运行后的输出结果,以下哪一项正确?

A.

均为2022

B.

均为2022.0

C.

float(2022)的输出为2022,float('2022')运行后出错

D.

float(2022)的输出为2022.0,float('2022')运行后出错

第 21 题    单选题

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

A.

'中国加油!'

B.

'加油中国!'

C.

'中国加油'

D.

'加油中国'

第 22 题    单选题

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

A.

[2,5,6,8,9]

B.

[9,6,8,2,5]

C.

[9,8,6,5,2]

D.

[0]

第 23 题    单选题

round(20/3) 的返回值是以下哪一项?

A.

6

B.

2

C.

7

D.

1

第 24 题    单选题

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

A.

vars()

B.

dir()

C.

help()

D.

map()

第 25 题    单选题

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

A.

bool(0)

B.

bool( )

C.

bool(15*15+14*14<420)

D.

bool(-1)

判断题
第 26 题    判断题

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

A.
正确
B.
错误
第 27 题    判断题

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

A.
正确
B.
错误
第 28 题    判断题

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

A.
正确
B.
错误
第 29 题    判断题

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

A.
正确
B.
错误
第 30 题    判断题

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

A.
正确
B.
错误
第 31 题    判断题

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

A.
正确
B.
错误
第 32 题    判断题

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

A.
正确
B.
错误
第 33 题    判断题

a=[['王鑫','86','90','92','99','94','95'],['杨小虹','93','97','95','90','86','85'],['李静','89','98','99','94','90','85']]

其中,杨小虹同学的第三门成绩95的数据类型是整数。( )

A.
正确
B.
错误
第 34 题    判断题

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

A.
正确
B.
错误
第 35 题    判断题

有这样一个表达式:
ord('a') - ord('A') 
这个表达式运行的结果是整数 32 。

A.
正确
B.
错误
编程题
第 36 题    问答题

标准考试答题卡一般采用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=   ②   
    if    ③   :
        print(“黑色”) 
        count=count+1
    else: 
         print(“白色”) 
print("黑色像素总共有:"+   ④   +"个")
第 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 题    问答题

如下图有一个名为“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+1
        if b >1: # 第一行是标题,所以从第二行开始计算
            s = s +   int(a[1]) *    ②     
print('总价:' , s)
答题卡
选择题
判断题
编程题
36 37 38
题目总数:38
总分数:100
时间:90分钟