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

请选择,下面代码运行之后的结果是?( )

a = '2'

b = '4'

try:

    c = a * b

    print(c)

except:

    print('程序出错!')

else:

    print('程序正确!')

A

24

B

8

C

程序出错!

D

程序正确!

2. 单选题

下面程序执行结果是?( )

a=['春','夏','秋','冬']

c=list(enumerate(a))

print(c)

A

[(0, '春'), (1, '夏'), (2, '秋'), (3, '冬')]

B

[[0, '春'], [1, '夏'], [2, '秋'], [3, '冬']]

C

[(1, '春'), (2, '夏'), (3, '秋'), (4, '冬')]

D

[[1, '春'], [2, '夏'], [3, '秋'], [4, '冬']]

3. 单选题

下面程序执行结果是?( )

s='123456789'

print(min(s)+max(s))

A

1

B

9

C

10

D

19

4. 单选题

打开b.txt文件,将"Hello Tom!"写入文件,下列语句正确的是?( )

A

f.write(['Hello'],[Tom!])

B

f.read('Hello',' Tom!')

C

f.write('Hello Tom!')

D

f.read('Hello Tom!')

5. 单选题

下列数据中,最大的数值是?( )

A

int('16',10)

B

int('110',2)

C

int('11',16)

D

int('1111',2)

6. 单选题

十六进制数7E转换为二进制数是几位数?( )

A

7

B

6

C

4

D

2

7. 单选题

表达式int('13',8)的返回值是?( )

A

12

B

11

C

10

D

15

8. 单选题

有如下代码:

res = []

f = open('Python08.txt','r')  #Python08.txt中共4行诗句

p = f.readlines()

for s in p:

    res.append(s)

print(res)

f.close()

对于该段代码,说法不正确的是?( )

A

程序的功能是按行读取文本文件中的内容,并将其逐一写入列表res

B

此处readlines()用法错误,应改成readline()

C

该文本文件和程序代码文件在同一文件夹下

D

参数'r'不允许修改该文本文件

9. 单选题

写入文本文件的步骤主要是打开——写入——关闭

A

写入文本文件的步骤主要是打开——写入——关闭

B

f.write('\n'.join(s))与f.write(' '.join(s)+'\n')的功能是相同的

C

write()的参数是一个字符串,而writelines()的参数可以是字符串也可以是字符序列

D

该代码的功能是将列表中的诗句按行写入文本文件

10. 单选题

编写程序代码时,我们经常会犯错,对于Python的异常处理,描述正确的是?( )

A

可以用if…elif…else…进行异常处理

B

异常处理可以弥补程序漏洞,让程序在任何情况下都不会终止运行

C

通过异常处理语句,当程序输入错误时,仍可以让程序继续运行

D

当遇到错误语句时,将执行try代码块语句

11. 单选题

若scores="9,7,8,9,6,5",则list(scores)的结果是?( )

A

[9,7,8,9,6,5]

B

['9','7','8','9','6','5']

C

['9', ',', '7', ',', '8', ',', '9', ',', '6', ',', '5']

D

9,7,8,9,6,5

12. 单选题

下列表达式的结果为True的是?( )

A

len("13"+"4")>14

B

ord(min("banana"))<65

C

sum([13,14,16])==53 

D

any(["a","b","","d"])

13. 单选题

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

A

bool( )函数是一个类型转换函数,用于将给定参数转换为布尔类型,若没有参数,则出错

B

ascii()函数和ord()函数功能都是返回一个数值类型的数据

C

filter()函数用于过滤序列,过滤不符合条件的元素,一般由两个参数组成,即函数和序列

D

map()函数主要用于画地图

14. 单选题

下列表达中,和range(8)的结果相同的是?( )

A

range(0,8)

B

range(1,8)

C

range(0,8,2)

D

range(1,9)

15. 单选题

已知x,y,z=map(int,['20','2','3']),则表达式x+y+z的结果是?( )

A

程序出错

B

2023

C

21

D

25

16. 单选题

《孙子算经》是我国古代重要的数学著作,其中有一题:“今有物不知其数,三三数之剩二,五五数之剩三,七七数之剩二,问物几何?”小王同学用Python编写了如下程序:

x=1

while x>0:

    if not (   ):

        x+=1

    else:

        print(x)

        x+=1

A

把第一个x+=1改成break,则程序输出一个结果

B

括号内应填入的代码是x%3==2 and x%5==3 and x%7==2

C

该程序是个死循环

D

该程序将有无穷多个输出

17. 单选题

下列关于二维数据的描述,正确的是?( )

A

二维数据就是由两个一维数据组成

B

二维数据由多个一维数据组成

C

二维数据的每一个一维数据之间,只能采用逗号进行分隔

D

二维数据不适合以表格的形式进行存储

18. 单选题

使用open函数打开某个CSV格式文件后,如果要将整个文件里的内容读取到一个列表中,需要使用以下文件对象的哪个函数?( )

A

read()

B

readline()

C

readlines()

D

flush()

19. 单选题

abs()是Python的内置函数,执行abs(-1.00)语句返回的结果是?( )

A

-1.00

B

1

C

1.0

D

1.00

20. 单选题

divmod()是Python的内置函数。对应变量x和y,divmod(y,x)返回的结果是?( )

A

(x//y, x%y)

B

(x%y, x//y)

C

(y//x, y%x)

D

(y%x,y//x)

21. 单选题

在交互式编程环境下执行a = input("请输入考试成绩:")语句后,通过数字键盘输入数值89.5。输入完成后,查看变量a的数据类型,会是下列哪一种?( )

A

float

B

int

C

str

D

bool

22. 单选题

执行print(list(range(4)))语句后,显示的结果是?( )

A

[0,1,2,3]

B

[1,2,3,4]

C

[0,0,0,0]

D

['' ,'' ,'' ,'' ]

23. 单选题

暴力破解是一种常见的网络攻击行为,它采用反复试错的方法去尝试破解用户的密码。这种黑客工具主要使用以下哪种算法进行设计?( )

A

枚举算法

B

解析算法

C

排序算法

D

对分查找算法

24. 单选题

对一组数据"6,1,3,2,8"进行排序,按从小到大的顺序进行排列,使用冒泡算法进行编程,则第一轮过后,排序的结果是?( )

A

1,6,3,2,8

B

1,3,6,2,8

C

1,3,2,6,8

D

1,2,3,6,8

25. 单选题

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

A

1502

B

152

C

F2

D

F02

26. 判断题

下列这段代码能够正常运行。对吗?( )

while True :

    a = input('请输入一个整数,若不是整数将会让你重新输入:  ' )

    try:

        b = int(a)

    except:

        print('你输入的不是整数!将返回重输。')

    else:

        print('你输入的是整数,程序结束。')

        break

A

正确

B

错误

27. 判断题

一组有n个元素的数列,如采用顺序查找法找到数列中的某一个元素,平均查找次数为 (n+1)/2 次。( )

A

正确

B

错误

28. 判断题

十进制数转十六进制数以后,位数一定变少了。( )

A

正确

B

错误

29. 判断题

二进制数1101011011转换成十六进制数是35B。( )

A

正确

B

错误

30. 判断题

使用open()方法一定要保证关闭文件对象,即调用close()方法。( )

A

正确

B

错误

31. 判断题

file=open('fruits.csv','r')

name=file.read().strip('\n').split(',')

file.close()

上述代码的功能是读取文件中的数据到列表。( )

A

正确

B

错误

32. 判断题

a=['shanghai','beijing','tianjin','chongqing','hangzhou']

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

f.write(','.join(a)+'\n')

本段代码最后还缺少一条'f.close()'语句以关闭文件。( )

A

正确

B

错误

33. 判断题

sort()与sorted()函数的区别在于前者默认是升序,后者默认是降序。( )

A

正确

B

错误

34. 判断题

round()函数属于数学函数,可用于近似保留小数位数。( )

A

正确

B

错误

35. 判断题

sum()函数不仅可以对列表数据进行求和,也可以对元组数据进行求和。( )

A

正确

B

错误

36. 编程题

某班级期中考试成绩汇总在文件“score.csv”中,包含了语文、数学、英语三科的分数,数据内容如下图显示:

小明编写了如下程序,读取成绩文件中的数据,并分别计算语文、数学、英语三科成绩的平均分,请你补全代码。

import csv

ChineseNum=0

MathNum=0

EnglishNum=0

num=0

with open('/data/score.csv',encoding='utf-8') as csv_file:

    row = csv.reader(csv_file, delimiter=',')

    next(row)  # 读取首行

    for r in row:

        ChineseNum += float(        ①        )

        MathNum += float(        ②        )

        EnglishNum += float(        ③        )

        num +=         ④        

print("语文平均成绩是:%.2f"%(ChineseNum/num))

print("数学平均成绩是:%.2f"%(MathNum/num))

print("英语平均成绩是:%.2f"%(EnglishNum/num))

查看答案
37. 编程题

新学期到了,学校接收了一批捐赠的图书,小明编写了一个简单的程序用来管理图书,并支持借阅功能。为了提高查找图书的效率,小明使用了二分查找法来设计图书借阅功能。以下是小明编写的图书借阅管理程序,请你补全代码。

library=dict()            #用字典生成一个图书管理数据结构(字典的键为编号,字典的值为['书名',本数])

#书籍入库

nums=len(library)              #先计算图书编号总数

library[nums+1]=['红楼梦',5]     #在编号总数的基础上继续添加新书:library[新编号]=['书名',本数]

library[nums+2]=['西游记',10]

library[nums+3]=['水浒传',5]

library[nums+4]=['三国演义',10]

print(library)

 

blist=list(library.keys())

#按书名借阅:

bookname=input('请输入借阅图书名称:')

 

min_v = blist[0]

max_v = blist[-1]

turns=0

 

while min_v <=         ①        :

    turns += 1

    cur  =  (min_v + max_v)        ②         

    print(cur)

    if library[cur][0] ==         ③        :        

        if library[cur][1]  >  0: 

            library[cur][1]  -=         ④        

            print('《%s》借阅成功!'%bookname)

        else:

            print('抱歉,您选择的书籍已被借完!')

        break

    elif blist[cur-1] > cur:

        min_v =         ⑤           

    else:

        max_v =         ⑥       

print("经过%d轮二分查找,完成图书的搜索。"%turns)

查看答案
38. 编程题

某班“天天向上”小组共有6个同学,姓名和身高数据分别存放在列表a中,编写程序实现小组同学按身高从高到低输出名单,运行结果如图所示:

程序代码如下,请在划线处补充完整:

a=[["李洪全",135],["王倩倩",154],["吴乐天",148],["周立新",165],["鲁正",158],["杨颖颖",150]]

for i in range(1,len(a)):

    for j in range(0,        ①        ):

        if a[j][1]        ②        a[j+1][1]:

            a[j],a[j+1]=a[j+1],a[j]

print("小组名单是:")

for i in range(len(a)):

print(        ③        )

查看答案
试题目录
单选题
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