试卷 2024年6月青少年软件编程Python等级考试(三级)真题试卷
2024年6月青少年软件编程Python等级考试(三级)真题试卷
选择题
第 1 题    单选题

现有一组初始记录无序的数据586392”,使用Python冒泡排序算法,按从小到大的顺序排列,第一轮排序的结果为?( )

A.

563892

B.

563829

C.

568329

D.

583692

第 2 题    单选题

Python列表l=[9,2,8,6,3,4],采用选择排序进行升序排序,第二轮排序后的结果是?( )

A.

234689

B.

234698

C.

238649

D.

238694

第 3 题    单选题

经典的韩信点兵问题出自《孙子算经》,译文为:有一些不清楚数量的物品,如果三个为一组的数剩下两个,如果五个为一组的数剩下三个,如果七个为一组的数剩下两个,问这些物品共有多少个。解决此问题可以用哪种算法?( )

A.

解析算法

B.

枚举算法

C.

排序算法

D.

查找算法

第 4 题    单选题

运行下列python程序段:

try:
    a=6
    b = int(input('输入一个数'))
    m=a/b
    print('商是:',m)
except:
    print('输入错误!')
else:
    print('正确!')
finally:
    print('程序结束!')

下面说法正确的是?( )

A.

当输入0时程序出错无法运行

B.

当输入1时,输出结果为:商是:6

C.

当输入6时,输出结果为:商是:1.0 正确

D.

不管输入什么内容都会输出:程序结束

第 5 题    单选题

Python的异常处理try....except...else...finally机制中,以下表述哪项是错误的?( )

A.

当碰到错误语句时,try代码块的剩余代码将会被忽略,执行except语句块

B.

当try语句块正确时,try代码块执行完毕,不执行else语句块,执行finally语句

C.

不管try代码块正确与否,finally代码都要执行

D.

except程序段中语句可能会被执行,也可能不会被执行

第 6 题    单选题

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

A.

10011

B.

11001

C.

11000

D.

11011

第 7 题    单选题

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

A.

24

B.

30

C.

64

D.

192

第 8 题    单选题

十进制数90,转化为十六进制数为?( )

A.

50

B.

1A

C.

A5

D.

5A

第 9 题    单选题

下面转化结果与十六进制数3C不相等的是?( )

A.

十进制数60

B.

八进制数74

C.

二进制数111110

D.

hex(60)

第 10 题    单选题

用python存储某餐馆菜单信息如下:

menu=['花雕醉湖蟹','三鲜汤','西湖醋鱼','酸辣土豆丝']
price=[78,36,118,28]
for i in range(len(menu)):
    print(menu[i]+':'+str(price[i]))

关于该段程序,下列说法正确的是?( )

A.

menu和price组成了一个二维数组

B.

该段程序一共输出4行结果

C.

若menu和price的元素数量不相同,程序也不受影响

D.

程序中len(menu)改成len(price),其他不变,结果将不一样

第 11 题    单选题

有如下程序: 

color=['红','橙','黄','绿','青','蓝','紫'] 
f=open('color.csv','w')
f.write(';'.join(color)+'\n') 
f.close()

下列说法正确的是?( )

A.

这段程序没有输出

B.

该列表中的元素是二维数据元素

C.

f.close()语句可有可无

D.

color.csv的结果内容是:红;橙;黄;绿;青;蓝;紫

第 12 题    单选题

已知二维列表gz中存储了某单位部门部分人员的工资数据,如下所示:gz=[['a1','李明',6200],['a2','吴海',5600],['a3','殷小飞',6536]],那么想要查询'殷小飞'的工资情况可使用?( )

A.

gz(3)

B.

gz[3]

C.

gz(2,2)

D.

gz[2][2]

第 13 题    单选题

有关数据处理,下列说法正确的是?( )

A.

一维数据通常采用列表形式来表示

B.

二维数据只能通过CSV文件进行存储处理

C.

列表不能表示二维数据

D.

存储在列表中的数据,不可以写入到CSV文件中

第 14 题    单选题

观察下列程序代码并思考回答:

word=['I','really','like','the','cat','!'] 
f=open('words.csv','w')
f.write(' '.join(word))
f.close()

有关该段程序,下列说法正确的是?( )

A.

'words.csv'文件需事先创建好,否则open()语句会出错

B.

变量f表示该CSV文件对象

C.

最终f对象中的内容是:I.really.like.the.cat.!

D.

程序的主要目的是写入内容,因此f.close()最好不写

第 15 题    单选题

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

A.

sum([3,2,1],int('3'))

B.

sum([3,2,1],max(1,2,3))

C.

sum([3,2,1],[3])

D.

sum([1,2,3,2,1])

第 16 题    单选题

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

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

A.

浮点数

B.

整数

C.

列表

D.

元组

第 17 题    单选题

下面两行Python代码运行的结果是?( )

x=['a','b','c','d'] 

print(list(enumerate(x)) )

A.

( {'a','b','c','d'} )

B.

[(0, 'a'), (1, 'b'), (2, 'c'), (3, 'd')]

C.

['a','b','c','d']

D.

(['a','b','c','d'] )

第 18 题    单选题

min()函数用于获取参数中的最小值,如果 a = min('654') ,请问下面表达式中,正确的是?( )

A.

print(max(chr(a),3,2))

B.

print(max(bin(a),3,2))

C.

print(max(float(a),3,2))

D.

print(max(hex(a),3,2))

第 19 题    单选题

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

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

{'大', '好', '我', '是', '明'}

B.

{'大','家','好','我','是','小','明','你','好','我','是','大','明'}

C.

{'家', '小', '你'}

D.

{'好', '我', '是', '大', '明', '家', '小', '你'}

第 20 题    单选题

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

b = (6,9,2,7,5)
b = sorted(b,reverse=1)
print(b)
A.

[2, 5, 6, 7, 9]

B.

(2, 5, 6, 7, 9)

C.

(9, 7, 6, 5, 2)

D.

[9, 7, 6, 5, 2]

第 21 题    单选题

执行下面Python代码:

print(bool(4)+3)

结果应该是?( )

A.

会报错

B.

6

C.

4

D.

7

第 22 题    单选题

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

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

第1次print(sorted(a)),a会降序排列;第2次print(a),a也会降序排列。

B.

第1次print(sorted(a)),a会降序排列;第2次print(a),a会升序排列。

C.

第1次print(sorted(a)),a会升序排列;第2次print(a),a也会升序排列。

D.

第1次print(sorted(a)),a会升序排列;第2次print(a),a会降序排列。

第 23 题    单选题

有如下两行代码,请问Python代码运行之后,打印出的结果是?( )

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]

第 24 题    单选题

下列四个Python表达式,值最大的选项是?( )

A.

round(5.2)

B.

pow(1,8)

C.

max(2,3,4,5,6)

D.

len([2,3,4,5,6])

第 25 题    单选题

下面两行Python代码执行结果是?( )

a = '0123456789'

print(min(a)+max(a))

A.

9

B.

0

C.

09

D.

a为字符串,不能获取大小值,代码会报错!

判断题
第 26 题    判断题

bin(10)的运行结果是'0b1010';int("1101",2)的运行结果是13。( )

A.
正确
B.
错误
第 27 题    判断题

oct(10)和hex(10)的结果相等。( )

A.
正确
B.
错误
第 28 题    判断题

关于文件的读取,readline()表示每次读取文件的一行,而使用read()和readlines()的结果是相同的。( )

A.
正确
B.
错误
第 29 题    判断题

向CSV文件中写入数据时,write()函数只能写入一行,而writelines()可以写入多行。( )

A.
正确
B.
错误
第 30 题    判断题

有如下程序代码:

import csv 
with open ("fruits.csv",'w')as f: 
    wrt=csv.writer(f) 
    wrt.writerows(['苹果','香蕉','西瓜','哈密瓜','桔子','香梨'])

这段代码中,writerows()实现了向'fruits.csv'进行多行输入。( )

A.
正确
B.
错误
第 31 题    判断题

请仔细阅读下面6行代码,请判断,代码运行后打印的结果应该是No,对吗?( )

a = all([1,2,3])
b = any([3,2,1])
if a == b :
    print('Yes')
else:
    print('No')
A.
正确
B.
错误
第 32 题    判断题

max()函数用于获取参数列表中的最大值,所以表达式 max(['1', '2' , '3'])与表达式max([1, 2, 3])运行结果是相同的。请判断是否正确?( )

A.
正确
B.
错误
第 33 题    判断题

有如下所示6行Python代码,变量a与变量b都有5个元素。代码中两次print()打印出的结果可能不会一样!请判断对否?( )

a = {'1','2','3','4','5'}
b = ('1','2','3','4','5')
for x in a:
    print(x)
for i in b:
    print(i)
A.
正确
B.
错误
第 34 题    判断题

执行:print(any(['小陈', 'False', '小李', 'True'])) 得到的结果是:False 。 请判断是否正确?( )

A.
正确
B.
错误
第 35 题    判断题

运行下列程序段时输入"good",则输出结果是:ok 。( )

try:
    x=eval(input())
    print(x)
except NameError:
    print('ok')
A.
正确
B.
错误
编程题
第 36 题    问答题

字母去重排序

在一列表中产生n个大写字母,删除其中重复字母,并按照AZ顺序排列输出。同时输出删除字母个数。

例如输入 5  随机产生原始字母:[ "D","H","K","E","H"]   输出:去重后字母排序:["D","E","H","K"]  输出:共删除字母个数:1个。

请编写Python程序实现上述功能,或补全代码。

import random
#导入随机数模块
maxn=int(input("输入生成大写字母个数"))
a=[ ]
for i in range(maxn):
    c=random.randint(1,26)#随机产生1-26之间的整数
    numb=chr(64+c) 
             ①        
print("随机产生原始字母:",a)
m,n=0,maxn
while m<n:
    i=n-1
    while        ②        :
        i=i-1
    if i==m:
                ③         
    else:
        a.remove(a[i])
        n=n-1
for i in range(n):
    for j in range(len(a)-1,i,-1):
        if a[j]<a[j-1]:
                    ④        
print("去重后字母排序:",a)
print("共删除字母个数:",        ⑤        ,"个")
第 37 题    问答题

植树问题:

 如下图所示,在“植树.csv”中记录着2个班级多次植树的信息(第一列为班级名,第二列为本次植树的数量),输出每个班级植树的总数,请你补全Python代码。

import csv
with open("/data/植树.csv") as f:
    h=list(        ①        )
s1=0
s2=0
for i in range(len(h)):
    if int(h[i][0])==1:
        s1=s1+int(h[i][1])
    if int(h[i][0])==2:
        s2=s2+        ②        
print(s1,s2)

输出:

368 362

第 38 题    问答题

合作小组 :

班里有35位同学,新来的王老师想以随机组合的方式给同学们组建合作小组促进学习,已知同学们的学号范围是1~35号,王老师编写了以下程序来生成5个合作小组,如下图所示,请你帮忙补全Python代码:

import random#导入随机数模块
 
numbers=35*[0]#创建35个元素值均为0的列表
 
flags=35*[False]#创建35个元素值均为False的列表
 
        ①        
 
while i<=34:
 
    n=random.randint(1,35)#随机产生1-35之间的整数
 
    if not flags[n-1]:
 
                ②        
 
        numbers[i]=         ③                   
 
        i+=1
 
for i in range(5):
 
    print("第"+str(        ④        )+"组:",numbers[i*7:7*(i+1)])

答题卡
选择题
判断题
编程题
36 37 38
题目总数:38
总分数:100
时间:90分钟