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

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

try:  
    print(10 / 0)  
except ZeroDivisionError:  
    print("Error")  
else:  
    print("OK")
2.

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

try:  
    num = int("abc")  
except ValueError:  
    print("Type Error")  
except:  
    print("Other Error")
3.

有如下Python程序:

car_brands=['Honda','Toyota','BYD','Ford]
f=open('cars.csv','w')
f.write(' '.join(car_brands)+'\n')
f.close()

下列说法正确的是?( )

4.

有如下Python程序段:

cartoon=['孙悟空','哪吒','黑猫警长','喜洋洋','熊大']
with open('car_toons.txt','w') as file:  ①
    for acter in cartoon:
        file.write(acter+'\n')        ②

下列有关说法正确的是?(

5.

有如下Python程序:

x=[[1,2,1],[2,4,2],[3,6,3]]
sum1=0
for i in range(len(x)):
    sum1+=x[i][1]
print(sum1)

程序执行后,输出结果是?( )

6.

已知gs.txt文件如图所示,则有如下Python代码:

with open("gs.txt",'r',encoding="UTF-8") as file:
    lines=file.readlines()
    a=[]
    for line in lines:
        a.append(line[0])
print(a)

程序执行后,a的结果是?( )

7.

在一个txt文件中写入新内容,不覆盖原内容,指定使用以下什么模式打开txt文件?( )

8.

执行python代码:

print(bool(2)+3)

打印出的结果应该是?( )

9.

小明编写了如下3行Python代码,请问代码运行后print()打印出的结果是?( )

a = set('大家好我是小明')
b = set('你好我是大明')
print(a & b)
10.

小明编写了如下4行Python代码,请问,代码中两次print()函数打印的结果,是什么状态?( )

a = [9,3,7,5,8,4]
print(sorted(a))
a.sort()
print(a)
11.

下面Python代码中,运行结果不等于9,会出错的是哪项?( )


12.

请问,下面Python代码最末print(d1),执行的结果是?( )

c1 = ['你','好','吗']
d1 = tuple(c1)
print(d1)
13.

如下3行Python代码,运行之后打印出来的结果是什么?( )

b = (5,7,3,6,4)
b = sorted(b,reverse=1)
print(b)
14.

Python表达式sum(map(int,'12345'))的返回值是?( )

15.

小明想得到整数9除以2的商和余数,所以他写下了Python表达式:x = divmod(9, 2)。

请问,表达式中的 x 是什么类型?( )

16.

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

17.

已知a = min('654'),那么print(max(float(a),3,2))输出的结果将是?( )

18.

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

19.

十进制数16,转化为二进制为?( )

20.

将十六进制数2f 转化为二进制数的表达式为?( )

21.

八进制数20,转化为十进制数为?( )

22.

下面转化结果与二进制数100001不相等的是?( )

23.

下列哪个选项不是算法的表示方法?(

24.

下列哪个选项不是算法的基本结构?(

25.

输入一指定金额(以元为单位,如683),然后输出支付该金额的各种面额的人民币数量,分6行分别输出100元,50元,20元,10元,5元,1元各多少张,要求尽量使用大面额的钞票,求解这个问题主要用到的算法是?( )

判断题 共 10 题
1.

Python 中,对于异常处理时 except: 语句可以捕获所有类型的异常,无需指定具体错误类型。( )

2.

当文件有多行时,使用read()每次只读取文件的一行。( )

3.

无论是一维数据还是二维数据,都可以写入CSV文件中。( )

4.

简单文件的读取过程中,readline()readlines()返回的结果都是字符串。( )

5.

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

6.

set()函数能剔除集合中重复的元素,所保留的元素位置不固定,所以不能使用索引来确定某个元素的位置。( )

7.

以下Python代码的运行结果是False。( )

a = any([None,[],(),[2]])

print(a)

8.

请判断,下面3行Python代码,能否正确执行。( )

txt1 = "白黑黑白黑白白黑白黑白白" 
a = txt1.count("白") - txt1.count("黑")
print(a)
9.

二进制数1100,转化为十六进制为C。( )

10.

Python中,hex(0b11111111)的结果为'0xff'。( )

问答题 共 3 题
1.

垃圾分类

2025年,某社区推行垃圾分类积分制度。居民每日投放可回收物(每袋积2分)和厨余垃圾(每袋积1分),当日统计得出总积分达到30分且总垃圾袋数少于20袋。

要求找出所有符合题目要求的垃圾袋组合方案。请完成下面Python程序中①②③④的语句,实现对问题的求解。

#recyclefood分别为可回收物、厨余垃圾的垃圾袋数量,num为符合题目要求的方案数目

num=0
for recycle in range(0,        ①        ):  
    for food in range(0,        ②        ):  
        if          ③         >= 30 and         ④        :
            num=num+1
            print(f"方案{num}:可回收物{recycle}袋,厨余垃圾{food}袋 → 总袋数{recycle +food}")
2.

跳绳抽测

学校某年级跳绳抽测(每个班抽测5名同学)后,老师将有效数据导出为”ts.csv”文件进行保存,部分数据如图所示,现要编程统计共有多少同学在100个以下,请补全Python代码:

import csv
with open("/data/ts.csv") as         ①        :
    rs=list(csv.reader(file))
            ②        
    for i in rs[1:]:
        if int(        ③        )<100:
            c+=1
    print("该年级抽测中共有"+str(c)+"人低于100个")
3.

购买餐具

学校食堂购买 110个餐具,总共花了 2200元 。已知:盘子25元一个,碗20元一个,勺子10元一个,请列出盘子、碗、勺子各买多少个的所有组合。

为解决上述问题,小明编写了以下Python程序,运行结果如后图。请将下面数字序号①②③④⑤⑥处的代码补全:

plate = 0
bowl = 0
spoon = 0
price = 0
b =[]
 
for plate in range(1,round(2200/25)):     #盘子数量从少到多
     price =        ①        #计算盘子价格
     
     for bowl in range(1,        ②        ):    #碗数量从少到多
          price1 = price + bowl * 20           #计算盘子加碗的价格
          
          for spoon in range(1,round(2200/10)):    #勺子数量从少到多
               price2 = price1 + spoon * 10              #计算盘子加碗再加勺子的价格
 
               if        ③        :           #如果总价等于2200元
                    if          ④         == 110:          #如果个数等于110个
                         b.         ⑤         ([plate,bowl,spoon,price2])  #将当前数据加入到数组中
 
for a in        ⑥        :
     print('盘',a[0],'个;碗',a[1],'个;勺',a[2],'个;价',a[3])    #打印出数组中符合要求的数据


C++ 编辑器
输入
输出