青少年软件编程(Python)等级考试试卷(三级)
分数:100 题数:38
一、单选题(共25题,共50分)
1. |
如下所示的2行代码,最后print()函数打印出来的结果是?( ) |
||||||||
|
|
||||||||
|
|
||||||||
|
试题编号:20220425-ll-005 |
||||||||
|
试题类型:单选题 |
||||||||
|
标准答案:C |
||||||||
|
试题难度:一般 |
||||||||
|
试题解析:考查学生对二维列表中,每个列表值顺序的理解。 |
||||||||
|
考生答案:C |
||||||||
|
考生得分:2 |
||||||||
|
是否评分:已评分 |
||||||||
|
评价描述: |
2. |
要读取下图“书目.csv”文件的全部内容,小明编写了后面4行代码。请问,红色①处,应该填写哪种打开模式?( )
f = open(“书目.csv” , ① ) a = f.read() print(a) f.close |
||||||||
|
|
||||||||
|
|
||||||||
|
试题编号:20220425-ll-006 |
||||||||
|
试题类型:单选题 |
||||||||
|
标准答案:C |
||||||||
|
试题难度:一般 |
||||||||
|
试题解析:考查学生对open()函数参数的掌握。本题除了选项C,填写打开模式为只读r之外,参数W会清除文件内容,显然不对,参数a与a+,指针在末尾,读不出内容,也不对。 |
||||||||
|
考生答案:C |
||||||||
|
考生得分:2 |
||||||||
|
是否评分:已评分 |
||||||||
|
评价描述: |
3. |
下图所示,有一个名为”书目.csv”的文件。小明针对这个文件编写了5行代码, with open(‘书目.csv’, ‘r’, encoding=’utf-8′) as f: for line in f.readlines(): |
||||||||
|
|
||||||||
|
|
||||||||
|
试题编号:20220425-ll-007 |
||||||||
|
试题类型:单选题 |
||||||||
|
标准答案:D |
||||||||
|
试题难度:一般 |
||||||||
|
试题解析:本题考查学生对列表切片中,每个数据位置的理解 。此题中的a[1],应该对应水浒传的价格,所以正确答案是70。 |
||||||||
|
考生答案:D |
||||||||
|
考生得分:2 |
||||||||
|
是否评分:已评分 |
||||||||
|
评价描述: |
4. |
小明编写了下列4行代码,请问,代码运行到最后,屏幕上打印出来的结果是?( ) |
||||||||
|
|
||||||||
|
|
||||||||
|
试题编号:20220425-ll-008 |
||||||||
|
试题类型:单选题 |
||||||||
|
标准答案:B |
||||||||
|
试题难度:一般 |
||||||||
|
试题解析:考查学生对嵌套列表中,元素位置的理解。同时考查学生对用已有列表创建新列表的理解。 |
||||||||
|
考生答案:D |
||||||||
|
考生得分:0 |
||||||||
|
是否评分:已评分 |
||||||||
|
评价描述: |
5. |
下图左边的“身体素质.csv”文件,要打印成下图右边的效果,每个字段之间相隔一个TAB键的距离。小明编写了如下代码,请选择:代码中横线处的内容?( ) f = open(‘身体素质.csv’, ‘r’) a = [] for i in f: a.append(i.strip(‘\n’).split(‘,’)) f.close for x in a: line=” for y in x: line += ‘{ } ‘.format(y) print(line)
|
||||||||
|
|
||||||||
|
|
||||||||
|
试题编号:20220425-ll-009 |
||||||||
|
试题类型:单选题 |
||||||||
|
标准答案:A |
||||||||
|
试题难度:一般 |
||||||||
|
试题解析:\t插入一个TAB键的距离。 |
||||||||
|
考生答案:A |
||||||||
|
考生得分:2 |
||||||||
|
是否评分:已评分 |
||||||||
|
评价描述: |
6. |
在Python异常处理结构中,如果程序执行没有遇到异常(错误),不会执行什么关键字后面的语句体?( ) |
||||||||
|
|
||||||||
|
|
||||||||
|
试题编号:20220503-ppz-016 |
||||||||
|
试题类型:单选题 |
||||||||
|
标准答案:B |
||||||||
|
试题难度:容易 |
||||||||
|
试题解析:在异常处理程序中,没有错误(异常),就跳过except语句体的执行。 |
||||||||
|
考生答案:B |
||||||||
|
考生得分:2 |
||||||||
|
是否评分:已评分 |
||||||||
|
评价描述: |
7. |
运行下列程序,输出的结果是?( ) try: a=int(input()) 当输入: 16 8 |
||||||||
|
|
||||||||
|
|
||||||||
|
试题编号:20220503-ppz-017 |
||||||||
|
试题类型:单选题 |
||||||||
|
标准答案:D |
||||||||
|
试题难度:一般 |
||||||||
|
试题解析:辨析异常处理的执行程序过程:如果try正确就到else,如果try错误就到except;最后都要执行finally。 |
||||||||
|
考生答案:C |
||||||||
|
考生得分:0 |
||||||||
|
是否评分:已评分 |
||||||||
|
评价描述: |
8. |
Python中将十进制20转化成八进制,我们可以使用下列哪个表达式?( ) |
||||||||
|
|
||||||||
|
|
||||||||
|
试题编号:20220509-xb-01 |
||||||||
|
试题类型:单选题 |
||||||||
|
标准答案:C |
||||||||
|
试题难度:容易 |
||||||||
|
试题解析:用python中的数制转换函数进行十进制与八进制的转换 |
||||||||
|
考生答案:A |
||||||||
|
考生得分:0 |
||||||||
|
是否评分:已评分 |
||||||||
|
评价描述: |
9. |
下列进制转换,正确的是?( ) |
||||||||
|
|
||||||||
|
|
||||||||
|
试题编号:20220509-xb-02 |
||||||||
|
试题类型:单选题 |
||||||||
|
标准答案:A |
||||||||
|
试题难度:一般 |
||||||||
|
试题解析:二进制、十进制、十六进制的概念及互相转换,并且会使用Python中的数制转换函数。 |
||||||||
|
考生答案:A |
||||||||
|
考生得分:2 |
||||||||
|
是否评分:已评分 |
||||||||
|
评价描述: |
10. |
关于二进制、八进制、十六进制与十进制相互转换,下列说法正确的是?( ) |
||||||||
|
|
||||||||
|
|
||||||||
|
试题编号:20220509-xb-04 |
||||||||
|
试题类型:单选题 |
||||||||
|
标准答案:D |
||||||||
|
试题难度:一般 |
||||||||
|
试题解析:理解n位二进制能表示的最大十进制数是2的n次方减一。 |
||||||||
|
考生答案:C |
||||||||
|
考生得分:0 |
||||||||
|
是否评分:已评分 |
||||||||
|
评价描述: |
11. |
将十进制2022转化成十六进制,可以使用下列哪个表达式?( ) |
||||||||
|
|
||||||||
|
|
||||||||
|
试题编号:20220510-xb-25 |
||||||||
|
试题类型:单选题 |
||||||||
|
标准答案:D |
||||||||
|
试题难度:容易 |
||||||||
|
试题解析:hex(2022)运行结果是’0x7e6’,为十六进制。 |
||||||||
|
考生答案:D |
||||||||
|
考生得分:2 |
||||||||
|
是否评分:已评分 |
||||||||
|
评价描述: |
||||||||
|
|
12. |
abs(-4.8)运行的结果是?( ) |
||||||||
|
|
||||||||
|
|
||||||||
|
试题编号:20220510-ylx-012 |
||||||||
|
试题类型:单选题 |
||||||||
|
标准答案:A |
||||||||
|
试题难度:容易 |
||||||||
|
试题解析:abs()是求绝对值函数。 |
||||||||
|
考生答案:A |
||||||||
|
考生得分:2 |
||||||||
|
是否评分:已评分 |
||||||||
|
评价描述: |
13. |
关于ord( )函数与chr( )函数,下列说法正确的是?( ) |
||||||||
|
|
||||||||
|
|
||||||||
|
试题编号:20220510-ylx-013 |
||||||||
|
试题类型:单选题 |
||||||||
|
标准答案:B |
||||||||
|
试题难度:一般 |
||||||||
|
试题解析:ord( )函数是返回字符所对应的ASCII值。因此其参数为字符串类型。chr()函数是将对应的ASCII值转换为相应字符。其参数为数值。 |
||||||||
|
考生答案:B |
||||||||
|
考生得分:2 |
||||||||
|
是否评分:已评分 |
||||||||
|
评价描述: |
14. |
运行下列程序,输出的结果是?( ) a=[34,7,8,23] max(a)+abs(-5) |
||||||||
|
|
||||||||
|
|
||||||||
|
试题编号:20220510-ylx-014 |
||||||||
|
试题类型:单选题 |
||||||||
|
标准答案:D |
||||||||
|
试题难度:一般 |
||||||||
|
试题解析:max()是求最大值,abs()是求绝对值。故程序的功能是将34与5相加。 |
||||||||
|
考生答案:D |
||||||||
|
考生得分:2 |
||||||||
|
是否评分:已评分 |
||||||||
|
评价描述: |
15. |
set(‘小明你好’)运行的结果是?( ) |
||||||||
|
|
||||||||
|
|
||||||||
|
试题编号:20220510-ylx-015 |
||||||||
|
试题类型:单选题 |
||||||||
|
标准答案:C |
||||||||
|
试题难度:较难 |
||||||||
|
试题解析:set()函数可将文本转为集合,集合的特点是元素顺序不固定,所以正确答案是C。 |
||||||||
|
考生答案:D |
||||||||
|
考生得分:0 |
||||||||
|
是否评分:已评分 |
||||||||
|
评价描述: |
16. |
如下程序: |
||||||||
|
|
||||||||
|
|
||||||||
|
试题编号:20220510-ylx-016 |
||||||||
|
试题类型:单选题 |
||||||||
|
标准答案:A |
||||||||
|
试题难度:一般 |
||||||||
|
试题解析:bin() 转换为二进制,oct() 转换为八进制,hex() 转换为十六进制。故程序功能是将列表中数字一一转换为对应的二进制数。 |
||||||||
|
考生答案:B |
||||||||
|
考生得分:0 |
||||||||
|
是否评分:已评分 |
||||||||
|
评价描述: |
17. |
下列表达式的值最大的选项是?( ) |
||||||||
|
|
||||||||
|
|
||||||||
|
试题编号:20220510-ylx-017 |
||||||||
|
试题类型:单选题 |
||||||||
|
标准答案:C |
||||||||
|
试题难度:一般 |
||||||||
|
试题解析:len()表示求长度,为6;max()表示求最大值,为78;abs()求绝对值,为90;round()表示四舍五入,小数位数参数省略表示保留到整数位,为38。 |
||||||||
|
考生答案:B |
||||||||
|
考生得分:0 |
||||||||
|
是否评分:已评分 |
||||||||
|
评价描述: |
18. |
divmod(6,2)的运行结果是?( ) |
||||||||
|
|
||||||||
|
|
||||||||
|
试题编号:20220510-ylx-018 |
||||||||
|
试题类型:单选题 |
||||||||
|
标准答案:C |
||||||||
|
试题难度:较难 |
||||||||
|
试题解析:divmod(6,2)返回包含商和余数的元组,即(3,0)。 |
||||||||
|
考生答案:C |
||||||||
|
考生得分:2 |
||||||||
|
是否评分:已评分 |
||||||||
|
评价描述: |
19. |
如果不知道对象的数据类型,我们可以使用什么函数查看?( ) |
||||||||
|
|
||||||||
|
|
||||||||
|
试题编号:20220510-ylx-019 |
||||||||
|
试题类型:单选题 |
||||||||
|
标准答案:A |
||||||||
|
试题难度:一般 |
||||||||
|
试题解析:type()函数返回对象的类型。 |
||||||||
|
考生答案:A |
||||||||
|
考生得分:2 |
||||||||
|
是否评分:已评分 |
||||||||
|
评价描述: |
20. |
运行下列程序,输出的结果是?( ) x=7 print(eval(“x+4”)) |
||||||||
|
|
||||||||
|
|
||||||||
|
试题编号:20220510-ylx-020 |
||||||||
|
试题类型:单选题 |
||||||||
|
标准答案:B |
||||||||
|
试题难度:较难 |
||||||||
|
试题解析:eval() 函数用来执行一个字符串表达式,并返回表达式的值,因此输出7+4的计算结果。 |
||||||||
|
考生答案:A |
||||||||
|
考生得分:0 |
||||||||
|
是否评分:已评分 |
||||||||
|
评价描述: |
21. |
关于enumerate()函数的说法不正确的是?( ) |
||||||||
|
|
||||||||
|
|
||||||||
|
试题编号:20220510-ylx-021 |
||||||||
|
试题类型:单选题 |
||||||||
|
标准答案:B |
||||||||
|
试题难度:较难 |
||||||||
|
试题解析:enumerate()函数是Python的内置函数,可以将一个可遍历/可迭代对象按照设置的序号组成一个索引序列,通常结合for循环使用,返回一个列表,内部由序号和原有元素组成的元组组成。 |
||||||||
|
考生答案:B |
||||||||
|
考生得分:2 |
||||||||
|
是否评分:已评分 |
||||||||
|
评价描述: |
22. |
enumerate()函数用于将一个可遍历的数据对象(如列表、元组或字符串)组合为一个索引序列。下列程序 |
||||||||
|
|
||||||||
|
|
||||||||
|
试题编号:20220510-ylx-022 |
||||||||
|
试题类型:单选题 |
||||||||
|
标准答案:C |
||||||||
|
试题难度:一般 |
||||||||
|
试题解析:本题考查学生对enumerate()函数的理解与掌握,正确答案是选项C。 |
||||||||
|
考生答案:A |
||||||||
|
考生得分:0 |
||||||||
|
是否评分:已评分 |
||||||||
|
评价描述: |
23. |
关于算法描述的三种基本结构,下列哪项正确?( ) |
||||||||
|
|
||||||||
|
|
||||||||
|
试题编号:20220515-xm-33 |
||||||||
|
试题类型:单选题 |
||||||||
|
标准答案:A |
||||||||
|
试题难度:一般 |
||||||||
|
试题解析: |
||||||||
|
考生答案:A |
||||||||
|
考生得分:2 |
||||||||
|
是否评分:已评分 |
||||||||
|
评价描述: |
24. |
“韩信点兵”是一个古老的数学问题,可以应用中国剩余定理进行求解。以下是使用计算机解决“韩信点兵”问题的几个步骤: |
||||||||
|
|
||||||||
|
|
||||||||
|
试题编号:20220515-xm-34 |
||||||||
|
试题类型:单选题 |
||||||||
|
标准答案:D |
||||||||
|
试题难度:一般 |
||||||||
|
试题解析: |
||||||||
|
考生答案:D |
||||||||
|
考生得分:2 |
||||||||
|
是否评分:已评分 |
||||||||
|
评价描述: |
25. |
小明使用Python编程模拟绘制了物体在自由落体运动过程中产生的抛物线轨迹。小明设计的这一算法属于下列哪一种?( ) |
||||||||
|
|
||||||||
|
|
||||||||
|
试题编号:20220515-xm-35 |
||||||||
|
试题类型:单选题 |
||||||||
|
标准答案:B |
||||||||
|
试题难度:一般 |
||||||||
|
试题解析: |
||||||||
|
考生答案:B |
||||||||
|
考生得分:2 |
||||||||
|
是否评分:已评分 |
||||||||
|
评价描述: |
二、判断题(共10题,共20分)
26. |
小明编写了代码一,小红看到后说:“我写的代码二,打印出来的结果与小明的代码一相同”。请判断,小红所说对吗?( ) 代码一: f = open(‘成绩.csv’, ‘r’) for i in f: a = i.strip(‘\n’).split(‘,’) print(a) f.close 代码二: f = open(‘成绩.csv’, ‘r’) a = [] for i in f: a.append(i.strip(‘\n’).split(‘,’)) f.close print(a) |
|||
|
|
|||
|
|
|||
|
试题编号:20220425-ll-030 |
|||
|
试题类型:判断题 |
|||
|
标准答案:错误 |
|||
|
试题难度:一般 |
|||
|
试题解析:小明的代码一,每次循环都会读取文档的下一行,并将该行用英文逗号切分成列表,再打印出来;小红的代码二,是读取每一行,以英文逗号切分为列表,并追加到列表变量a的尾巴后面,最后再打印变量a。两者打印出的结果不同。 |
|||
|
考生答案:错误 |
|||
|
考生得分:2 |
|||
|
是否评分:已评分 |
|||
|
评价描述: |
27. |
有一个名为“身体素质.csv”的文件,内容为学生的姓名、身高和体重,文件内容如下: 李四,127,32 王五,131,34 赵六,129,33 小明想编写代码,在整个文件的首行,插入数据“张三,133,36”,他编写了如下代码,请判断,代码能正确运行吗?( ) f = open(‘身体素质.csv’, ‘a’) f.seek(0,0) #用seek()方法,将文件指针移动到整个文件的最前面。 f.write(‘张三,133,36\n’) f.close() |
|||
|
|
|||
|
|
|||
|
试题编号:20220425-ll-031 |
|||
|
试题类型:判断题 |
|||
|
标准答案:错误 |
|||
|
试题难度:一般 |
|||
|
试题解析:open()函数的参数’a’,是追加数据到文件末尾,seek()函数虽然能移动读取文件时的指针位置,但并不能移动写入文件时的位置,所以答案为错误。 |
|||
|
考生答案:错误 |
|||
|
考生得分:2 |
|||
|
是否评分:已评分 |
|||
|
评价描述: |
28. |
使用异常处理的方式执行程序时,当try里面的程序出现数据类型输入错误时,执行except ZeroDivisionError下面的语句;当try里面的程序出现除数为零的错误时,执行except ValueError下面的语句。( ) |
|||
|
|
|||
|
|
|||
|
试题编号:20220503-ppz-018 |
|||
|
试题类型:判断题 |
|||
|
标准答案:错误 |
|||
|
试题难度:容易 |
|||
|
试题解析:当try里面的程序出现数据类型输入错误时,执行except ValueError下面的语句;当try里面的程序出现除数为零的错误时,执行except ZeroDivisionError下面的语句。 |
|||
|
考生答案:错误 |
|||
|
考生得分:2 |
|||
|
是否评分:已评分 |
|||
|
评价描述: |
29. |
八进制数0o10转化成十六进制数为0x8。( ) |
|||
|
|
|||
|
|
|||
|
试题编号:20220509-xb-03 |
|||
|
试题类型:判断题 |
|||
|
标准答案:正确 |
|||
|
试题难度:一般 |
|||
|
试题解析:二进制、十进制、十六进制的概念及互相转换,并且会Python中的数制转换函数。 |
|||
|
考生答案:正确 |
|||
|
考生得分:2 |
|||
|
是否评分:已评分 |
|||
|
评价描述: |
30. |
执行代码print(type(0x20)),运行结果是<class ‘int’>。( ) |
|||
|
|
|||
|
|
|||
|
试题编号:20220509-xb-05 |
|||
|
试题类型:判断题 |
|||
|
标准答案:正确 |
|||
|
试题难度:一般 |
|||
|
试题解析:了解八进制数也是一个整型 |
|||
|
考生答案:正确 |
|||
|
考生得分:2 |
|||
|
是否评分:已评分 |
|||
|
评价描述: |
31. |
divmod()函数执行结果是返回一个包含商和余数的元组。( ) |
|||
|
|
|||
|
|
|||
|
试题编号:20220510-ylx-032 |
|||
|
试题类型:判断题 |
|||
|
标准答案:正确 |
|||
|
试题难度:一般 |
|||
|
试题解析:divmod()函数执行结果是返回一个包含商和余数的元组。 |
|||
|
考生答案:正确 |
|||
|
考生得分:2 |
|||
|
是否评分:已评分 |
|||
|
评价描述: |
32. |
all()函数用于判断给定的可迭代参数中的所有元素是否都为False,若是返回True,否则返回False。( ) |
|||
|
|
|||
|
|
|||
|
试题编号:20220510-ylx-033 |
|||
|
试题类型:判断题 |
|||
|
标准答案:错误 |
|||
|
试题难度:较难 |
|||
|
试题解析:all()函数用于判断给定的可迭代参数中的所有元素是否都为True,若是返回True,否则返回False。 |
|||
|
考生答案:正确 |
|||
|
考生得分:0 |
|||
|
是否评分:已评分 |
|||
|
评价描述: |
33. |
any()函数用于判断给定的可迭代参数中的所有元素是否都为True,若是返回True,否则返回False。( ) |
|||
|
|
|||
|
|
|||
|
试题编号:20220510-ylx-034 |
|||
|
试题类型:判断题 |
|||
|
标准答案:错误 |
|||
|
试题难度:较难 |
|||
|
试题解析:any()函数用于判断给定的可迭代参数中的所有元素是否都为False,若是返回False,否则返回True。 |
|||
|
考生答案:正确 |
|||
|
考生得分:0 |
|||
|
是否评分:已评分 |
|||
|
评价描述: |
34. |
具有查看函数或模块说明功能的函数是help()。( ) |
|||
|
|
|||
|
|
|||
|
试题编号:20220510-ylx-035 |
|||
|
试题类型:判断题 |
|||
|
标准答案:正确 |
|||
|
试题难度:容易 |
|||
|
试题解析:help()函数主要用于查看函数或模块用途的详细说明,返回对象是帮助信息。 |
|||
|
考生答案:正确 |
|||
|
考生得分:2 |
|||
|
是否评分:已评分 |
|||
|
评价描述: |
35. |
小明编写了如下所示的3行代码 : |
|||
|
|
|||
|
|
|||
|
试题编号:20220425-ll-029 |
|||
|
试题类型:判断题 |
|||
|
标准答案:正确 |
|||
|
试题难度:一般 |
|||
|
试题解析:考查学生对列表切片时,切片起始位置、终止位置的理解。本题运行结果,2行Print()都会打印出[‘钱’, ‘孙’, ‘李’],所以小红所说是正确的。 |
|||
|
考生答案:正确 |
|||
|
考生得分:2 |
|||
|
是否评分:已评分 |
|||
|
评价描述: |
三、编程题(共3题,共30分)
36. |
小明用冒泡排序算法编写了一段代码,请帮他把代码中红色标记的①②③处,补充完整。 a = [8,4,2,11,3,9] n = len(a) |
|
|
|
|
|
试题编号:20220425-ll-037 |
|
试题类型:编程题 |
|
标准答案: 参考程序: a = [8,4,2,11,3,9] |
|
试题难度:较难 |
|
试题解析: 评分标准: (1)n; (2分) (2)n-i-1;(4分) (3)j+1 。 (4分) |
37. |
下面程序,按字典序列统计出单词的个数,执行结果如下: 请补全下列代码中的①②③④四处。 a=[‘is’,’happy’,’is’,’your’,’are’,’first’,’first’,’is’,’are’,’your’] n=len(a)-1 for i in range(0,n): for j in range(i+1,n+1): if a[i]>a[j]: ① key=a[0] i=1 ans=1 while i<=n: if key==a[i]: ② i+=1 else: print(a[i-1]+’:’+str(ans)) key=a[i] ③ i+=1 ④ |
|
|
|
|
|
试题编号:20220504-ppz-023 |
|
试题类型:编程题 |
|
标准答案: 参考程序: a=[‘is’,’happy’,’is’,’your’,’are’,’first’,’first’,’is’,’are’,’your’] |
|
试题难度:较难 |
|
试题解析: 评分标准: ①a[i],a[j]=a[j],a[i]; (4分) ②ans=ans+1;(4分) ③ans=1; (4分) ④print(a[i-1]+’:’+str(ans))。(4分) |
38. |
请读取文件”cj.csv”的数据,数据内容如下图所示: 下列代码实现了读取“姓名”和“体质测试”信息,输出“体质测试”考核为A的数量(大于等于85分)并显示相应同学姓名,请你补全代码。 import csv with open(‘cj.csv’) as f: rows = list( ① ) n=0 for row in rows[1:]: if ② : print(row[0]) n+=1 print(n) |
|
|
|
|
|
试题编号:20220512-xb-42 |
|
试题类型:编程题 |
|
标准答案: 参考程序: import csv |
|
试题难度:一般 |
|
试题解析: 评分标准: (1)csv.reader(f); (2分) (2)int(row[1])>=85。(2分) |