202406 青少年软件编程等级考试Python三级真题 建议答题时长:60min
1. 编程题

合作小组

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

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)])

查看答案
2. 编程题

植树问题

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

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

查看答案
3. 编程题

字母去重排序

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

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

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

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("共删除字母个数:",        ⑤        ,"个")

查看答案
4. 单选题

小明编写了如下3行代码,请问代码运行后print()打印出的结果是?( )
a = set('大家好我是小明')
b = set('你好我是大明')
print(a & b)

A

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

B

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

C

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

D

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

5. 单选题

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

A

round(5.2)

B

pow(1,8)

C

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

D

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

6. 单选题

小明想得到整数9除以2的商和余数,所以他写下了表达式: x = divmod(9, 2)请问,表达式中的 x 是什么类型?( )

A

浮点数

B

整数

C

列表

D

元组

7. 单选题

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

A

24

B

30

C

64

D

192

8. 单选题

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

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]

9. 单选题

小明编写了如下4行代码,请问,代码中两次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会降序排列。

10. 单选题

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

A

50

B

1A

C

A5

D

5A

11. 单选题

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))

12. 单选题

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

A

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

B

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

C

列表不能表示二维数据

D

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

13. 单选题

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

A

10011

B

11001

C

11000

D

11011

14. 单选题

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

A

5,6,3,8,9,2

B

5,6,3,8,2,9

C

5,6,8,3,2,9

D

5,8,3,6,9,2

15. 单选题

下面代码中,运行结果不等于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. 单选题

有如下程序:

color=['红','橙','黄','绿','青','蓝','紫']

f=open('color.csv','w')

f.write(';'.join(color)+'\n')

f.close()

下列说法正确的是?( )

A

这段程序没有输出

B

color列表不可以理解成一个一维数组

C

f.close()语句可有可无

D

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

17. 单选题

运行下列程序段:

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

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

18. 单选题

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

A

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

B

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

C

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

D

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

19. 单选题

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

A

十进制数60

B

八进制数74

C

二进制数111110

D

hex(60)

 

20. 单选题

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

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'] )

21. 单选题

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

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()最好不写

22. 单选题

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

A

2,3,4,6,8,9

B

2,3,4,6,9,8

C

2,3,8,6,4,9

D

2,3,8,6,9,4

23. 单选题

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

A

gz(3)

B

gz[3]

C

gz(2,2)

D

gz[2][2]

24. 单选题

下面两行代码执行结果是?( )
a = '0123456789'
print(min(a)+max(a))

A

9

B

0

C

09

D

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

25. 单选题

用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),其他不变,结果将不一样

26. 单选题

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

A

解析算法

B

枚举算法

C

排序算法

D

查找算法

27. 单选题

执行下面代码:
print(bool(4)+3)
结果应该是?( )

A

会报错!

B

6

C

4

D

7

28. 单选题

有如下两行代码,请问代码运行之后,打印出的结果是?( )
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]

29. 判断题

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

try:
   x=eval(input())
   print(x)
except NameError:
   print('ok')

A

正确

B

错误

30. 判断题

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

A

正确

B

错误

31. 判断题

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

A

正确

B

错误

32. 判断题

 

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

A

正确

B

错误

33. 判断题

有如下程序代码:

import csv

with open ("fruits.csv",'w')as f:

   wrt=csv.writer(f)

   wrt.writerows(['苹果','香蕉','西瓜','哈密瓜','桔子','香梨'])

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

A

正确

B

错误

34. 判断题

执行:print(any(['小陈', 'False', '小李', 'True'])) 得到的结果是:False 。

请判断是否正确?( )

A

正确

B

错误

35. 判断题

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

A

正确

B

错误

36. 判断题

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

a = all([1,2,3])
b = any([3,2,1])
if a == b :
   print('Yes')
else:
   print('No')

A

正确

B

错误

37. 判断题

有如下所示6行代码,变量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

错误

38. 判断题

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

A

正确

B

错误

试题目录
编程题
1 2 3
单选题
4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28
判断题
29 30 31 32 33 34 35 36 37 38
赣ICP备20007335号-2