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

Python中,hex(2023)的功能是?( )

2.

下列Python表达式的值与其他三个选项不相等的是哪一个?( 

3.

下列说法错误或值为False的是?( )

4.

下面选项中最大的数是?( 

5.

关于下列代码,说法正确的是?( 

try:
    a = int(input('输入一个数:'))
    b = int(input('输入另一个数:'))
    m = a / b
    print('结果是', m)
except:
    print('其他错误!')
except ValueError:
    print('输入的不是数字!')

6.

下列代码的运行结果是?( 

for i in range(2):
    try:
        a = 5 % i
    except:
        print('&&&&&')
    else:
        print('@@@@@')
    finally:
        print('*****')

7.

下面程序使用的with语句打开文件,处理结束后会?( )

c=['老虎','狗','狮子','大象','狼']
with open('动物.csv','w') as f:
  f.write(','.join(c)+'\n')
8.

与下列Python程序实现的功能一样的是?( 

with open('动物.csv','r') as f:
  h=f.read().strip().split(',')
print(h)
9.

关于语句f=with open('d:/stu.csv', 'r'),下列描述不正确的是?( )

10.

有关Python文件常用读写方式的描述,错误的是?( )

11.

关于语句f=open(r"c:\计算.txt",'w'),下列描述不正确的是?( )

12.

小明用插入排序算法,编写了如下代码,对列表arr中的数值进行排序,

请问,代码中红色①处,应填写什么代码?( )

arr = [9, 3, 7, 5, 1, 6, 8, 4, 2] 
for i in range(1, len(arr)):
        key = arr[i]
        j = i-1
        while j >=0 and key < arr[j] : 
                arr[j+1] = ①
                j = j - 1
        arr[j+1] = key 
print ("排序后的数组:",arr)
13.

列表a中全是整数,小明想将其中所有奇数都增加1,偶数不变,于是编写了如下代码。

请问红色①处,代码应该是?( )

a = [1,2,3,4,5,6,7,8,9,10]
for x in range(len(a)):
  if ① != 0:
    a[x] = a[x]+1
print(a)
14.

小明用冒泡排序算法编写了一段Python程序,请问程序中红色标记的①处,应该填写什么代码?( )

a = [8,4,2,11,3,9]
n = len(a)
for i in range(0, n):
    for j in range(0, n-i-1 ):
        if a[j]>a[ ① ]:
            a[j],a[j+1] = a[j+1],a[j]        
print(a)
15.

divmod(-10,3)返回值是?( )

16.

下列Python代码的结果是?( 

set_a = set('happy')
set_b = set('java')
set_c = set_a-set_b
c = list(set_c)
print(c)
17.

给定列表 nums = [1, 2, 3, 4, 5, 6],以下哪个选项返回 True?( )

18.

Pythonprint(tuple(range(0,8,3)))语句,执行的结果是?( )

19.

下列关于map()函数的代码,其运行结果是?( )

res=map(str,[3, 6, 8, 4, 5])
print(list(res))
20.

下列Python程序运行结果是?( 

a=int(min("2345"))
b=int(max("14693"))
c=b+a
print(c)
21.

以下哪个函数可以将字符转换为ASCII码?( )

22.

以下哪个值在bool函数中会被解释为False?( )

23.

以下哪个选项描述了abs()函数的返回值类型?( )

24.

给定一个整数列表nums,如何使用sum函数计算列表中所有元素的和,并返回结果?( )

25.

以下哪个选项描述了程序的输出结果?( 

fruits = ['apple', 'banana', 'orange']
for i, fruit in enumerate(fruits):
    print(i, fruit)
判断题 共 10 题
1.

十六进制3C转换成八进制为74。( )

2.

异常处理结构中,如果try程序段中出现了运行错误的语句,那么每一个except程序段都会被运行。( )

3.

下面Python程序,将产生一个“动物.csv” 的文件。( )

c=['老虎','狗','狮子','大象']
f=open('动物.csv','w')
f.write(','.join(c)+'\n')
f.close()
4.

使用open()函数打开'food.csv'文件后,返回的是元组。( )

5.

f=open(r"c:\字符串.txt",'w')
f.write('Eden\nOrion\nPhoenix\n')
f.close()

上面的程序,能在原来文件的基础上添加三行字符串。( 

6.

abs()函数的功能是获取参数的绝对值,例如abs(-3.14)的运行结果是-3。( )

7.

print(type({"name":"Alice","age":25})==dict)结果为True。( )

8.

format()函数可以指定变量的类型、精度、对齐方式等格式选项,从而生成不同的字符串,如:"{:.2f}".format(3.1415926)的结果为"3.14"。( )

9.

使用open()函数打开一个已存在的文件时,如果指定的模式为"w",则会清空该文件中的内容。( )

10.

二进制数在末尾加个0”,等于这个数乘以2。( )

问答题 共 3 题
1.

整数问题

给定一个十进制整数n,求出从1n的所有整数中出现“1”的个数。

例如,n2时,12出现1个“1”。

n12时,123456789101112,出现5个“1”。

现编写一个Python程序,实现如下功能:输入整数n,执行程序后,输出该范围内出现“1”的个数。请完善程序。

n=int(input('请输入整数:'))
        ①        
i=1
while        ②        :
    x=i
    while x>0:
        if         ③        :
            count=count+1
        x//=10
             ④        
print(n,'范围内1的个数有:',count)
2.

偶数排序

下列Python程序将数列中的偶数按从小到大顺序输出,请你补全代码。

def even(x):
    return  x%2==0   #自定义函数even,判断x是否为偶数
c=[3,7,1,18,9,12,5,2,22,10]
n=        ①        
h=[]
for i in         ②        :
    for j in range(0,n-i-1):
        if         ③        :
            c[j],c[j+1]=        ④        
for i in range(0,n-1):
         h=filter(        ⑤        ,c)
ans=list(h)     
print(ans)
3.

食堂问卷调查

学校食堂为了提高服务质量,让老师和同学们更好地投入工作和学习,对同学们开展了问卷调查,调查项目共5(5个问题),每个项目有ABC三个选项,同学们每题可选一项,学校后勤管理的李老师对调查结果进行了收集整理,并存放在"myd.csv"文件中(部分数据如图所示),现在需要分析同学们对这5个项目的答题情况,统计出每个项目选"A"的情况。李老师用Python编写了以下代码,输出结果如下图,请你完善划线处。

import csv
with open("/data/        ①        ")as f:
    cont=list(csv.reader(f))
    qk={"第1题":0,"第2题":0,"第3题":0,"第4题":0,"第5题":0}
    for row in cont[        ②        ]:
        for i in range( len(row)):
            if row[i]==        ③        :
                qk["第"+str(i+1)+"题"]+=1
for i in range(5):
    print("第"+str(i+1)+"题选A的人数为:"+str(qk["第"+str(i+1)+"题"]))
C++ 编辑器
输入
输出