2025年6月青少年软件编程Python等级考试(三级)真题试卷
剩余时间 --:--:--
单选题 共 25 题
1.

如果oct(?) 输出结果为'0o11',那么问号处的十进制数,应该是下面哪个选项?( )


2.

下列四个数有二进制的、八进制的,也有十六进制的,四个数中最小的那个是?( )

3.

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

4.

如果hex(?) 输出的结果是'0xa',请问问号处应填下面哪个选项?( )

5.

Python中,执行print(list(range(5, 0, -1)))的结果是?( )

6.

以下Python代码的输出是?( )

s = "programming"
print (s.replace ("g", "G"))
7.

Python中,表达式len("Python语言很强大") 的值是?( )

8.

已知列表lst=["1", "2", "3"],执行new_lst=list(map(int, lst))new_lst的值是?( )

9.

Python中,表达式list (enumerate ("OK"))的结果是?( )

10.

Python中,表达式abs(-4.5) + abs(3)的值是?( )

11.

Python中,以下代码的输出是?( )

print(round(3.35, 1))

12.

Python中,以下代码的输出是?( )

for i in range(97, 100):
    print(chr(i), end="")
13.

Python中,执行print(min(["Dog", "Elephant", "Fox"]))的输出是?( )

14.

Python中,表达式not bool(5) or bool("python")的结果是?( )

15.

执行以下Python代码后,sum的值是?( )

sum = 0
for i in range(3):
    sum = sum + i * 3
print(sum)


16.

有如下异常处理代码:

while True:
    try:
        n=int(input("请输入一个数字:"))
        print(f"您输入的数字是:{n}")
        break
    except ValueError:
        print("输入无效,请重新输入数字。")
关于该段程序,下列说法不正确的是?( )
17.

有段程序如下:

try:
       age=int(input("请输入年龄:"))
except ValueError:
        print("请输入有效年龄。")
else:
    if age>=18:
        print("您是成年人。")
    else:
 
        print("您是未成年人。")


执行上述程序,下列描述正确的是?(

18.

对数据"7,9,3,2,5"使用选择排序算法,按从小到大的顺序排列,那么第一轮排序的结果为?( )

19.

猜一个2025以内的随机数,用计算机解决该问题,最适用的算法是哪个?( )

20.

用冒泡算法对列表[9, 2, 7, 3, 5, 1] 中的数据进行升序排序,第1轮排序后的结果应该是?( )

21.

有如下Python程序,运行后将生成?( )

c=['苹果','西瓜','香蕉']
f=open('水果.csv','w')
f.write(' '.join(c)+'\n')
f.close()


22.

水果表.csv的文件如下图所示,下列Python程序运行结果为?( )

f=open('水果表.csv','r')
c=[]
for i in f:
    c.append(i.strip('\n').split(','))
f.close()
print(c)
23.

使用open函数打开一个CSV格式文件,要将整个文件读取到一个列表中,使用以下文件对象的哪个函数?( )

24.

下列Python程序运行后,生成的“姓名.txt”文件如下图所示,程序①处的代码应该为?( )

file=open(r"姓名.txt",'w')
file.write('Henry\n');
file.    ①    ('Leal\nFidel\nHumphrey\n')
file.close()


25.

n.txt文件有3行数据(回车符在第3行末尾),运行下列程序,会有几行数据?( )

import csv
file=open('n.txt','a',newline='') 
writer=csv.writer(file)
writer.writerow(['Rawlins'])
#writer.writerows([['Hollis'],['Amy'],['Amour']])
file.close()
判断题 共 10 题
1.

有这样一个Python表达式:

ord('a') - ord('A')

这个表达式运行的结果是整数32,请判断结果对吗?( )

2.

Python中,chr(x) 函数可以将任意整数转换为对应的ASCII字符。( )

3.

Python中,语句float('3.14')运行后的输出结果是'3.14'。( )

4.

len(2025) 会返回整数4,因为20254位数字。( )

5.

Python中,若a=[5, 1, 3, 2],执行a.sort() 后,a的值是[1,2,3,5]。( )

6.

当程序发生异常时,一个try模块可以设定多个except模块。( )

7.

a=[['小明','86','90','92','99','94','95'],['小红','93','97','95','90','86','85'],['小华','89','98','99','94','90','85']]

其中,小明同学的第二门成绩90分,数据类型是数字,对吗?( )

8.

name.txt的文件如下图所示,以下Python程序运行的结果为 [['Davey'], ['Amya'], ['Edward']]。( )

import csv
with open("name.txt") as file:
    c=list(csv.reader(file))
print(c)
9.

有关文件的读取,readline()可以每次读取文件中的一行内容。使用read()readlines()都可以读取全部内容,因此它们读取的结果是相同的。( )

10.

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

问答题 共 3 题
1.

碳中和行动

2025年,全球碳中和行动进入关键阶段。某环保机构收集了多个绿色能源项目的效率数据(单位:%),需通过算法对项目效率进行排序,优先推广高效项目。

要求:实现选择排序算法,按效率值(第二列)对项目列表进行降序排序,输出排序后的项目名称和效率值。

已知数据如下:

projects = [  
    ["风电-青海", 82.5],  ["光伏-宁夏", 78.3],   ["氢能-广东", 91.2],  
    ["地热-西藏", 65.7],   ["潮汐-浙江", 88.4]  
]


结果输出示例:

1名:氢能-广东(效率91.2%)  

2名:潮汐-浙江(效率88.4%)  

...  

请补全下列代码中的①②③④⑤⑥四处。 

projects = [  
    ["风电-青海", 82.5], ["光伏-宁夏", 78.3], ["氢能-广东", 91.2],  
    ["地热-西藏", 65.7], ["潮汐-浙江", 88.4]  
]  
# 选择排序(降序)  
for i in range(len(projects)):  
    k = ①    
    for j in range(i + 1, len(projects)):  
        if  projects[j][1] > projects[k][1]:  # 比较效率值  
 
            k = ②    
    # 交换位置  
    projects[i], projects[k] =  ③  ,  ④      
 
# 输出结果  
for idx, project in enumerate(projects):  
    print(f"第{  ⑤  }名:{project[0]}(效率{  ⑥  }%)")
2.

学生排序

对某年级的学生按身高及性别进行排序。要求女生在前、男生在后,性别相同的按身高升序排列。所有学生信息的数据格式例如[[“男”,“徐杰”,145],[“女”,“王梓静”,138]……],其中[“男”,”徐杰”,145]表示其中一位学生的信息,实现该问题解决的Python程序如下,请将程序补充完整。

"""将全体学生的身高性别数据存入列表st中,测试列表如下:"""

st = [["男", "徐杰", 145], ["女", "王梓静", 138], ["女", "李妹", 135], ["男", "张小坤",148]]
 
   ①    
 
for i in range(n-1):
 
    for j in range(0,  ②  ):
 
        if st[j][0]==st[j+1][0] and st[j][2]>    ③    :
 
            st[j],st[j+1]=st[j+1],st[j]
 
        elif st[j][0]=="男" and st[j+1][0]=="女":
 
            st[j],st[j+1]=  ④  
 
print(st)


3.

统计购买图书数

如下图,在文件“购买图书.csv”中记录着3个同学多次购买图书的信息(第一列为同学编号,第二列为每次购买图书的数量),输出每个同学购买图书的总数,请你补全代码。

import csv
with open("/data/购买图书.csv") as file:
    g=list(  ①   )
c1=0
c2=0
c3=0
for i in range(len(g)):
    if int(g[i][0])==1:
        c1=c1+int(g[i][1])
    if int(g[i][0])==2:
        c2=c2+   ②   
    if int(g[i][0])==3:
        c3=c3+int(g[i][1])
print(c1,c2,c3)


输出:

11 14 5

C++ 编辑器
输入
输出