
青少年软件编程(Python)等级考试试卷(三级)
分数:100题数:38
一、单选题(共25题,共50分)
1.将二进制数1011011转换为十六进制数,其末位数字为?( )
A. B
B. A
C. 3
D. 6
试题编号:20150417-ylx-004
试题类型:单选题
标准答案:A
试题难度:容易
试题解析:二进制转十六进制,其方法为从低位开始,每4个二进制数可以转换为1个十六进制,高位位数不够,左边可补0凑足。该二进制数最低四位为1011,其值为二进制B,所以选A。
考生答案:B
考生得分:0
是否评分:已评分
评价描述:
2.下列Python代码执行结果是?( )
a = [3, 5, 7, 9]
print(a[1:-1])
A. [5, 7]
B. [3, 5]
C. [5, 7, 9]
D. [3, 5, 7]
试题编号:20250410-zm-07
试题类型:单选题
标准答案:A
试题难度:容易
试题解析:切片 [1:-1] 取索引1到倒数第2个元素(含头不含尾)。
考生答案:B
考生得分:0
是否评分:已评分
评价描述:
3.已知 lst = [[1,2], [3,4], [5,6]],lst[1][1] 的值是?( )
A. 2
B. 3
C. 4
D. 5
试题编号:20250410-zm-08
试题类型:单选题
标准答案:C
试题难度:容易
试题解析:二维列表索引 [行][列],第二行第二列元素为4。
考生答案:C
考生得分:2
是否评分:已评分
评价描述:
4.对于下列代码,选项说法正确的是?( )
with open("data.csv", "w") as f:
f.write("Name,Age\nAlice,12\nBob,15")
A. 读取CSV文件
B. 创建包含两行数据的CSV文件
C. 追加数据到文件末尾
D. 删除文件内容
试题编号:20250410-zm-09
试题类型:单选题
标准答案:B
试题难度:一般
试题解析:"w" 模式写入新文件,内容包含表头及两行数据。
考生答案:A
考生得分:0
是否评分:已评分
评价描述:
5.在csv文件中写入内容并且不覆盖原来的数据,打开文件的模式是?( )
A. w
B. r
C. b
D. a
试题编号:20250410-zm-10
试题类型:单选题
标准答案:D
试题难度:一般
试题解析:
w模式覆盖写入文件内容;
r模式只读文件内容;
b模式以二进制打开文件;
a模式不覆盖写入文件内容。
故D正确。
考生答案:D
考生得分:2
是否评分:已评分
评价描述:
6.下列 Python代码的功能是?( )
with open("data.txt", "r+") as f:
con= f.read()
f.write(con.upper())
A. 读取内容并追加大写版本
B. 覆盖原文件内容为大写
C. 报错(文件未关闭)
D. 读取后插入大写内容到开头
试题编号:20250410-zm-11
试题类型:单选题
标准答案:A
试题难度:较难
试题解析:
1.with open("data.txt", "r+") as f:使用with语句以读写模式("r+")打开名为data.txt的文件。with语句会在代码块结束后自动关闭文件,所以不会出现文件未关闭报错的情况
2.con = f.read():读取文件中的全部内容,并将其赋值给变量con。此时文件指针位于文件末尾。
3. .write(con.upper()):upper()方法会将字符串中的所有字母转换为大写字母,然后将转换后的内容写入文件。由于文件是以"r+"模式打开,且文件指针在末尾,所以是在原文件内容后面追加写入大写版本的内容,而不是覆盖原文件内容;也不是插入到开头。
考生答案:B
考生得分:0
是否评分:已评分
评价描述:
7.十进制数25转换为二进制数是?( )
A. 10011
B. 11001
C. 1001
D. 100110
试题编号:20250417-ylx-001
试题类型:单选题
标准答案:B
试题难度:容易
试题解析:本题考查十进制转二进制,方法是除2倒取余数,直到商为0为止。A为顺取余数,C、D位数不对。
考生答案:B
考生得分:2
是否评分:已评分
评价描述:
8.对于二进制数10111,其划线处的“1”对应的权值是?( )
A. 24
B. 23
C. 22
D. 21
试题编号:20250417-ylx-002
试题类型:单选题
标准答案:D
试题难度:容易
试题解析:
本题考查数制中权值的概念。对于k进制数,从低位起,每个数码对应的权值分别为k0,k1,k2……。
考生答案:D
考生得分:2
是否评分:已评分
评价描述:
9.十进制数18,转化为八进制数为?( )
A. 16
B. 18
C. 20
D. 22
试题编号:20250417-ylx-003
试题类型:单选题
标准答案:D
试题难度:一般
试题解析:18除以8得到商是2,余数是2,故答案为22。
考生答案:D
考生得分:2
是否评分:已评分
评价描述:
10.下列有关于算法的描述,正确的是?( )
A. 算法可以没有输入,但一定有输出
B. 算法有两种结构,即顺序结构和分支结构
C. 算法可用程序语言来表示,但不能用自然语言表示
D. 算法可以没有输出,但必有输入
试题编号:20250423-ylx-023
试题类型:单选题
标准答案:A
试题难度:容易
试题解析:算法必须有输出,算法的三种结构是顺序结构、分支结构和循环结构;算法可用自然语言表示,通俗易懂,但容易产生歧义。
考生答案:A
考生得分:2
是否评分:已评分
评价描述:
11.以下问题适合用解析算法求解的是?( )
A. 寻找班级中59分的同学
B. 已知底和高分别为a、h,求三角形的面积s
C. 将同学们按身高从矮到高排队
D. 寻找100以内的3的倍数
试题编号:20250423-ylx-024
试题类型:单选题
标准答案:B
试题难度:容易
试题解析:已知底和高为a和h,根据三角形面积S=(1/2)*a*h,可计算求得S,属于解析算法。解析算法是找到表示问题的已知条件和结果之间的数学关系表达式,通过表达式的计算来实现问题的求解的一种算法。故选B。
考生答案:B
考生得分:2
是否评分:已评分
评价描述:
12.已知d=[3,1,4,1,5,9,2,6],在该序列中从前往后查找数字5,需要查找的次数是?( )
A. 4
B. 3
C. 2
D. 5
试题编号:20250423-ylx-025
试题类型:单选题
标准答案:D
试题难度:容易
试题解析:本题考查顺序查找,即从第一个数开始,按顺序逐个将数据与给定的数据5进行比对,若相等,则查找成功,故查找过程为3,1,4,1,5,共查找5次。
考生答案:C
考生得分:0
是否评分:已评分
评价描述:
13.下面Python代码运行之后的结果是?( )
a = '2'
b = '4'
try:
c= a * b
print(c)
except:
print('程序出错!')
else:
print('程序正确!')
A. 24
B. 8
C. 程序出错!
D. 程序正确!
试题编号:20250424-LL-015
试题类型:单选题
标准答案:C
试题难度:容易
试题解析:变量a与b都是字符串,不能进行乘法运算,所以经过异常处理之后,会打印“程序出错!”。
考生答案:C
考生得分:2
是否评分:已评分
评价描述:
14.小明编写了如下代码,运行后屏幕上打印出的结果是?( )
x = 8
y = [3,2,1,0]
z = y.pop(1)
try:
a= int(x / z)
except:
print('程序出错!')
else:
pass
finally:
print(a)
A. 8
B. 4
C. 程序出错!
D. 屏幕上无输出
试题编号:20250424-LL-16
试题类型:单选题
标准答案:B
试题难度:一般
试题解析:本题考查学生对try-except-else-finally语句结构的理解。代码中的z = y.pop(1),z的值是整数2,所以x/z不会有异常,结果是4。所以正确答案是选项B。
考生答案:C
考生得分:0
是否评分:已评分
评价描述:
15.表达式divmod(7, 2)返回的结果是?( )
A. [1, 3]
B. [3, 1]
C. (1, 3)
D. (3, 1)
试题编号:20250425-ppz-021
试题类型:单选题
标准答案:D
试题难度:容易
试题解析:返回值为商与余数的元组对。
考生答案:D
考生得分:2
是否评分:已评分
评价描述:
16.在Python中,min(["ABC", "BCD", "CDA"]) 的返回值是?( )
A. "ABC"
B. "BCD"
C. "CDA"
D. "A"
试题编号:20250425-ppz-023
试题类型:单选题
标准答案:A
试题难度:容易
试题解析:
在 Python 中,比较字符串时,是按照字符的 ASCII 码值依次比较。在字符串"ABC", "BCD", "CDA"中,"ABC" 的字符在前面,所以返回"ABC" 。
考生答案:C
考生得分:0
是否评分:已评分
评价描述:
17.下列Python程序运行的结果为?( )
a=([0,False,''])
b=[1,2,3,4,5,6,7,8,9]
print(any(a)+all(b))
A. False
B. True
C. 0
D. 1
试题编号:20250425-ppz-024
试题类型:单选题
标准答案:D
试题难度:较难
试题解析:
a 的元素是0、False、空,所以any(a)是False ,参与运算结果为0;
b为列表,所有元素都为True,所以all(b)是True,参与运算结果为1;
0+1=1。
考生答案:A
考生得分:0
是否评分:已评分
评价描述:
18.在 Python 中,表达式 abs(-4.5) + int(-4.5) 的值是?( )
A. 9
B. 0
C. 8
D. 0.5
试题编号:20250425-ppz-025
试题类型:单选题
标准答案:D
试题难度:一般
试题解析:abs(-4.5)=4.5,int(-4.5)=-4,和为0.5。
考生答案:A
考生得分:0
是否评分:已评分
评价描述:
19.下面Python代码的执行的结果是?( )
c= ['低','碳']
a= tuple(c)
print(a)
A. ['低','碳']
B. {'低','碳'}
C. ('低','碳')
D. ”低碳”
试题编号:20250425-ppz-026
试题类型:单选题
标准答案:C
试题难度:容易
试题解析:tuple() 可以将列表转化为元组,正确答案是C。
考生答案:C
考生得分:2
是否评分:已评分
评价描述:
20.下列程序:
c=[11,13,17,23,29,31]
for a,i in _____________:
print(a,i)
运行后结果如下:
0 11
1 13
2 17
3 23
4 29
5 31
画线处的代码应该为?( )
A. int(c)
B. chr(c)
C. enumerate(c)
D. range(c)
试题编号:20250425-ppz-027
试题类型:单选题
标准答案:C
试题难度:容易
试题解析:enumerate()用于将一个可遍历的数据对象组合为一个索引序列,同时列出数据和数据下标,符合程序的结果输出。
考生答案:D
考生得分:0
是否评分:已评分
评价描述:
21.下列程序,当输入 3.14时,运行结果为?( )
a=input(str())
r=3
pi=float(a)
print(pi*r**2)
A. 3
B. 3.14
C. 18.84
D. 28.26
试题编号:20250425-ppz-029
试题类型:单选题
标准答案:D
试题难度:容易
试题解析:考核 intput() 、str()、float(),本题求的是半径是3,圆周率是3.14的圆面积,所以程序结果为28.26。
考生答案:D
考生得分:2
是否评分:已评分
评价描述:
22.有如下两行代码,请问代码运行之后,打印出的结果是?( )
a = [1,2,3,4,3,2,3,4,2,1,4]
print(list(set(a)))
A. [1,2,3,4,3,2,3,4,2,1,4]
B. {[1,2,3,4,3,2,3,4,2,1,4]}
C. [1,2,3,4]
D. {[1,2,3,4]}
试题编号:20250425-ppz-032
试题类型:单选题
标准答案:C
试题难度:一般
试题解析:set()函数将列表a转为集合之后,会自动去除重复的元素,再次使用list()函数将集合转为列表,那么打印出来的结果就是选项C。
考生答案:C
考生得分:2
是否评分:已评分
评价描述:
23.已知c=[1,3,5,7,9,11],max(c)+min(c)的值为?( )
A. 0
B. 1
C. 11
D. 12
试题编号:20250425-ppz-033
试题类型:单选题
标准答案:D
试题难度:容易
试题解析:考核max()和min()
max(c)=11,min(c)=1,所以值为 12。
考生答案:D
考生得分:2
是否评分:已评分
评价描述:
24.在Python中,运行print(list(range(2,10,3)))的结果是?( )
A. [2,3,4,5,6,7,8,9]
B. [2,3,4,5,6,7,8,9,10]
C. [2, 5, 8]
D. (2,5,8)
试题编号:20250425-ppz-034
试题类型:单选题
标准答案:C
试题难度:容易
试题解析:考核 print()、list()、range()。
考生答案:C
考生得分:2
是否评分:已评分
评价描述:
25.在Python中,'str'表示什么类型?( )
A. 整数
B. 列表
C. 元组
D. 字符串
试题编号:20250425-ppz-035
试题类型:单选题
标准答案:D
试题难度:容易
试题解析:考核 对象的类型。
考生答案:D
考生得分:2
是否评分:已评分
评价描述:
二、判断题(共10题,共20分)
26.CSV文件必须使用逗号分隔数据元素,否则无法正确解析。( )
正确 错误
试题编号:20250410-zm-12
试题类型:判断题
标准答案:错误
试题难度:一般
试题解析:CSV 文件虽然常见的是使用逗号作为分隔符,但在实际应用中,也可以使用其他字符(如空格、分号等)作为分隔符,只要在解析时告知解析器实际的分隔符是什么,就能够正确解析,并非必须用逗号。
考生答案:错误
考生得分:2
是否评分:已评分
评价描述:
27.s=[['张三','86','90','92'],['李四','93','97','95'],['王五','89','98','99']],获取王五同学的第2门成绩数据,用s[2][2],对吗?( )
正确 错误
试题编号:20250410-zm-13
试题类型:判断题
标准答案:正确
试题难度:较难
试题解析:s[2]获取['王五','89','98','99'],s[2][2]获取'98'。
考生答案:正确
考生得分:2
是否评分:已评分
评价描述:
28.二维数据存储为CSV文件时,每行数据需用换行符分隔。( )
正确 错误
试题编号:20250410-zm-14
试题类型:判断题
标准答案:正确
试题难度:一般
试题解析:CSV文件中,每行表示一个一维数据,需用换行符分隔不同行。
考生答案:正确
考生得分:2
是否评分:已评分
评价描述:
29.二进制中的10和十六进制中的10是相等的。( )
正确 错误
试题编号:20250417-ylx-026
试题类型:判断题
标准答案:错误
试题难度:容易
试题解析:二进制中的10表示2,十六进制中的10表示16,两个值不相等。
考生答案:错误
考生得分:2
是否评分:已评分
评价描述:
30.对于一个二进制数,末位增加一个0,其值扩大2倍。( )
正确 错误
试题编号:20250417-ylx-027
试题类型:判断题
标准答案:正确
试题难度:容易
试题解析:十进制中末位每增加一个0,其值扩大10倍,在二进制数中,末位每增加一个0,其值扩大2倍,如1(1)、10(2)、100(4)、1000(8)……。
考生答案:错误
考生得分:0
是否评分:已评分
评价描述:
31.请判断,下面这段代码是否能正常运行?( )
while True :
a= input('请输入一个整数,若不是整数将会让你重新输入:' )
try:
b= int(a)
except:
print('你输入的不是整数!将返回重输。')
else:
print('你输入的是整数,程序结束。')
break
正确 错误
试题编号:20250424-LL-017
试题类型:判断题
标准答案:正确
试题难度:一般
试题解析:本题需要学生正确理解 try—except—else三个语句的作用,代码利用了错误处理机制,强制用户必须输入数字,代码能正确运行。应该判断为正确。
考生答案:正确
考生得分:2
是否评分:已评分
评价描述:
32.在Python中,chr(48) 函数返回值为对应的ASCII字符。( )
正确 错误
试题编号:20250425-ppz-022
试题类型:判断题
标准答案:正确
试题难度:容易
试题解析:chr(x) 的参数 x 必须是范围在 0 ≤ x ≤ 255 的整数,否则会报错。
考生答案:正确
考生得分:2
是否评分:已评分
评价描述:
33.下列程序:
a=int('100',2)
b=3.1415926
r=round(b,4)
print(a)
print(r)
运行结果为:
4
3.1416
正确 错误
试题编号:20250425-ppz-028
试题类型:判断题
标准答案:正确
试题难度:较难
试题解析:考核int()、round()。
考生答案:正确
考生得分:2
是否评分:已评分
评价描述:
34.在Python中,sum([1,2,3]) 和 sum(range(1,4)) 相等。( )
正确 错误
试题编号:20250425-ppz-030
试题类型:判断题
标准答案:正确
试题难度:容易
试题解析:两个表达式的结果都是6,相等。 考核 sum()、range()。
考生答案:错误
考生得分:0
是否评分:已评分
评价描述:
35.在Python语言中,print(sorted([6,3,5,9,2,1]))的返回结果是 [1, 2, 3, 5, 6, 9]。( )
正确 错误
试题编号:20250425-ppz-031
试题类型:判断题
标准答案:正确
试题难度:容易
试题解析:考核sorted(),完成排序。
考生答案:正确
考生得分:2
是否评分:已评分
评价描述:
三、编程题(共3题,共30分)
36.鲜花数据处理
校园花坊采购一批鲜花,具体数据存储在文件 “flower.csv”,数据内容如下图所示:

下列代码实现读取 “花名” 、 “数量”和“价格” 信息,输出价格达到 20 的花名及总价,请补全代码。
import csv
with open("/data/ ①") as f:
rows= list(csv.reader(f))
forrow in rows[1:]:
if( ②>= 20):
print(row[0],int(row[1])*int(row[2]))
试题编号:202512-P3-36
试题类型:编程题
标准答案:
参考程序:
import csv
with open("/data/flower.csv") as f:
rows= list(csv.reader(f))
forrow in rows[1:]:
if(int(row[2]) >= 20):
print(row[0],int(row[1])*int(row[2]))
试题难度:容易
试题解析:
评分标准:
(1)flower.csv (或等效答案);(2分)
(2)int(row[2]) (或等效答案)。(2分)缺int()得1分。
评价描述:
37.冒泡排序
小明用冒泡排序算法编写了一段Python代码,请帮他把代码中红色标记的①②③处,补充完整。
a = [8,4,2,11,3,9]
n = len(a)
for i in range(0, ① ):
forj in range(0, ②):
ifa[j]>a[ ③]:
a[j],a[j+1]= a[j+1],a[j]
print(a)
试题编号:202512-P3-37
试题类型:编程题
标准答案:
参考程序:
a = [8,4,2,11,3,9]
n = len(a)
for i in range(0, n-1):
forj in range(0, n-i-1):
ifa[j]>a[j+1]:
a[j],a[j+1]= a[j+1],a[j]
print(a)
试题难度:一般
试题解析:
评分标准:
(1)n-1(或等效答案); (2分)
(2)n-i-1(或等效答案); (4分)
(3)j+1 (或等效答案)。 (4分)
评价描述:
38.选择排序
老师想知道n位同学的成绩中,排第3名的同学的成绩是多少。小华编写了以下程序,请补全空缺的代码:
n=int(① )
fenlist=[]
for i in range(n):
fen=input()
fenlist.append(②)
for i in range( ③):
k=i
forj in range(i+1,n):
if ④ :
k=j
if k!=i:
fenlist[k],fenlist[i]=fenlist[i],fenlist[k]
print(⑤)
输入:
6
80
90
90
92
88
92
输出:
90
试题编号:202512-P3-38
试题类型:编程题
标准答案:
参考程序:
n=int(input())
fenlist=[]
for i in range(n):#0到n-1
fen=input()
fenlist.append(int(fen))
#选择法排序
for i in range(0,n-1):#0到n-2
k=i
forj in range(i+1,n):
iffenlist[k] <fenlist[j]:< span> </fenlist[j]:<>
k=j
ifk!=i:
fenlist[k],fenlist[i]=fenlist[i],fenlist[k]
print(fenlist[2])
试题难度:容易
试题解析:
评分标准:
(1)input() (或等效答案);(3分)
(2)int(fen)(或等效答案);(3分)fen得2分。
(3)0,n-1 (或等效答案);(4分)
(4)fenlist[k]
(5)fenlist[2] (或等效答案)。(3分)
备考资料: