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

学校进行体育跳远期末考试,每人有三次机会,取最远的一次作为最后成绩,1班的成绩如下,CLASS1=[['李明',150,152,147],['王红',146,143,146],['刘岩',148,152,150],['张坤',156,152,154]],那么输出张坤的最好成绩,下列代码正确的是?( )

2.

一所小学有六个年级,每个年级有5个班,现用二进制对所有班级进行编码,最少需要几位二进制?( )

3.

以下哪项Python表达式的运行结果是正确?( )

4.

有如下Python程序:

c=['语文','数学','英语']
f=open('course.csv','w') 
f.write(','.join(c)+'\n')
f.close()

下列说法正确的是?(

5.

列表list=[7,9,3,6,2,5]使用选择排序算法,按从小到大的顺序排列,则第二轮排序的结果为?( )

6.

对列表对象a=[3,7,2,5,8,6],用插入排序算法进行升序排序。小明编写了如下代码,请选择代码中横线处的内容?( )

a = [3,7,2,5,8,6]
count=len(a)
for i in range(1,count):
    key=a[i]
    j=i-1
    while j>=0 and a[j]>key:
       ________
        j-=1
    a[j+1]=key
print(a)
7.

计算三角形面积,可以采用的算法是?(

8.

二进制数11001010转换为十六进制是?( )

9.

表达式hex(12)的返回值是?( )

10.

想要在一个csv文件中写入内容并且不覆盖原来的数据,应该使用什么模式打开文件?( )

11.

以下说法正确的选项是?(

12.

f=open('1.txt','w')
f.write('\n\n'.join(['桃子', '苹果', '橙子']))
f.close()

对于以上代码,说法正确的是?(

13.

下列程序,当输入0时,运行结果是?( )

try:
   x=9
   y=int(input())
   n=x%y
   print('余数是',n)
except:
    print('错误')
else:
    print('正确')
finally:
    print('程序结束')
14.

Python表达式divmod(9,-2)的值是?( )

15.

a=set('123456')b=set('567890'),则{'2', '3', '1', '4'}可能是下列哪个选项的结果?( )

16.

小明编写了一个简易除法计算器,代码如下:

while True:
    fn=input("被除数:")
    if fn=="q":
        break
    sn=input("除数:")
    if sn=="q":
        break
    ans=int(fn)/int(sn)
    print(ans)

有关这段代码,说法正确的是?(

17.

已知x=[67,81,45,38,55,-29,83],那么print(max(x))输出的结果将是?( )

18.

下列代码的输出结果是?(

b='天天向上'
print(b*2)
19.

Python表达式len(str(1234+5678))的结果是?( )

20.

Python表达式round(24/7)的值是?( )

21.

Python中关于ord()函数,下列说法正确的是?( )

22.

有如下Python程序代码: 

a=input(“第一个数”)
b=input(“第二个数”)
print(a+b)

若输入的数据是53,那么程序的输出结果是?( )

23.

st=('I love China.','Me too.'),那么执行语句list(st)的结果是?( )

24.

已知AASCII码值为65aASCII码值为97,chr(ord(min('Bike'))+2)的结果是?( )

25.

已知a,b,c,d=map(str,[2,0,2,4]),那么d的值是?( )

判断题 共 10 题
1.

十进制数转化为二进制,使用除2反向取余法,十进制转化为其他进制,也可以使用相同的方法,只是除数采用其他进制的基本数码个数。( )

2.

Python可以处理一维数据、二维数据和多维数据。( )

3.

(如图)name.csv文件内容如下,下面程序输出的结果是 'Alice', 'Ida', 'Sam', 'Otis', 'Gina' 。( )

with open('name.csv','r') as f:
    n=f.read().strip().split(',')
print(n)
4.

下列程序,当输入A时,运行结果是:错误,请输入数字 。( )

try:
   x=int(input())
   y=int(input())
   n=x/y
   print(n)
except ValueError:
    print('错误,请输入数字')
except ZeroDivisionError:
    print('错误,除数不能为0')
except :
    print('其它错误!')
5.

n=[2,3,5,9,12,6],则max(n)+min(n)+sum(n)的值是52。( )

6.

Pythonbool()函数用于将给定参数转换为布尔类型,参数省略的情况下返回True值。( )

7.

Python中若求字符的ASCII码值,可以使用ord()函数,而不是ascii()。( )

8.

Pythonrange(10)表示生成整数序列范围为0~9,并不能生成10。( )

9.

下面三行代码可以正常执行。(

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

二进制111010101转化为十六进制数为1e5。( )

问答题 共 3 题
1.

统计身高

某班学生进行了身高测试,身高数据存在文件shengao.csv”中。数据内容如下图所示。

小明编写了如下程序,读取身高文件中的数据,并计算男生的平均身高(保留两位小数),请你补全代码。

import csv
with open("/data/  ①   ") as f:
    rows=list(csv.reader(f))
    sum=0
    n=0
    for row in rows[1:]:
        if row[1]=="男":
                 ②        
            n=n+1
    print("男生的平均身高是:",  ③  )
2.

课本分配

某学校由于缺乏课本,信息课要两人共读一本课本,数学课要三人共读一本课本,语文课要四人共读一本课本。书的总数是52本。问信息书、数学书、语文书各有多少本?(每门功课至少要有一本书)

for i in range(1, 51):# 信息书
    for j in   ①   : # 数学书
        k =   ②   # 语文书
        if i*2 == j*3 and j*3==k*4:
            print('信息书共有%d本,数学书共有%d本。语文书有%d本' % (        ③        ) )
3.

冒泡排序

下列程序用冒泡排序算法将数列从小到大输出,请你补全代码。

c=[3,6,11,18,9,12,5,2,22,10]
count=        ①        
for i in range(0,  ②   ):
    for j in range(0,  ③   ):
        if  ④  :
            t=c[j]
              ⑤  
            c[j+1]=t
print(c)
C++ 编辑器
输入
输出