202206青少年软件编程(Python)等级考试试卷(三级)

发布于:2024-05-19 ⋅ 阅读:(208) ⋅ 点赞:(0)

第 1 题 【单选题】

下图所示, 有一个名为"书目.csv"的文件。 小明针对这个文件编写了 5 行代码,请问, 代码运行到最后打印在屏幕上的结果是? ( )
在这里插入图片描述

with open('书目.csv', 'r', encoding='utf-8') as f:

     for line in f.readlines():

         a = line.split(",")

         if a[0] == "水浒传" :

              print(a[1])

A :老残游记

B :172

C :55

D :70

正确答案:D
试题解析:
本题考查学生对列表切片中, 每个数据位置的理解 。 此题中的 a[1], 应该对应水浒传的价格, 所以正确答案是 70。

第 2 题 【单选题】

要读取下图“书目.csv”文件的全部内容, 小明编写了后面 4 行代码。 请问, 红色①处, 应该填写哪种打开模式? ( )
在这里插入图片描述

f = open("书目.csv" ,)

a = f.read()

print(a)

f.close

A :“w”

B :“a”

C :“r”

D :“a+”

正确答案:C
试题解析:
考查学生对 open() 函数参数的掌握。
本题除了选项 C, 填写打开模式为只读 r 之外, 参数 W 会清除文件内容, 显然不对, 参数 a 与 a+, 指针在末尾, 读不出内容, 也不对。

第 3 题 【单选题】

如下所示的 2 行代码, 最后 print()函数打印出来的结果是? ( )

c = [['赵大',21,'男','北京'],['钱二',20,'男','西安'],['孙三',18,'女','南京'],['李四',20,'女','杭州']]

print(c[1][3])

A :男

B :北京

C :西安

D :女

正确答案:C
试题解析:考查学生对二维列表中, 每个列表值顺序的理解。

第 4 题 【单选题】

在Python异常处理结构中,如果程序执行没有遇到异常(错误),不会执行什么关键字后面的语句体?( )

A :try

B :except

C :else

D :finally

正确答案:B
试题解析:在异常处理程序中, 没有错误(异常) , 就跳过 except 语句体的执行。

第 5 题 【单选题】

下图左边的“身体素质.csv”文件, 要打印成下图右边的效果, 每个字段之间相隔一个 TAB 键

的距离。 小明编写了如下代码, 请选择: 代码中横线处的内容? ( )

在这里插入图片描述

A. \t

B. \n

C. \a

D. \r

正确答案:A
试题解析:插入一个 TAB 键的距离。

第 6 题 【单选题】

小明编写了下列 4 行代码, 请问, 代码运行到最后, 屏幕上打印出来的结果是? ( )

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

b = [1,2,3]

c = [b,a]

print(c[1][0])

A :1

B :a

C :‘1’

D :‘a’

正确答案:B
试题解析:
考查学生对嵌套列表中, 元素位置的理解。 同时考查学生对用已有列表创建新列表的理解。

第 7 题 【单选题】

下列进制转换, 正确的是? ( )

A :0x14 转化为十进制, 结果是 20。

B :20 转化成八进制, 结果是 0o20。

C :0x14 转化为十进制, 结果是 22。

D :20 转化成八进制, 结果是 0o30。

正确答案:A
试题解析:
二进制、 十进制、 十六进制的概念及互相转换, 并且会使用 Python 中的数制转换函数。

第 8 题 【单选题】

将十进制 2022 转化成十六进制, 可以使用下列哪个表达式? ( )

A :bin(2022)

B :int(2022)

C :oct(2022)

D :hex(2022)

正确答案:D
试题解析:hex(2022) 运行结果是’ 0x7e6’ , 为十六进制。

第 9 题 【单选题】

运行下列程序, 输出的结果是? ( )

在这里插入图片描述

A :错误

B :
商是: 2.0
正确

C :
商是: 2
正确
结束

D :
商是: 2.0
正确
结束

正确答案:D
试题解析:辨析异常处理的执行程序过程: 如果 try 正确就到 else, 如果 try 错误就到except; 最后都要执行 finally。

第 10 题 【单选题】

关于二进制、 八进制、 十六进制与十进制相互转换, 下列说法正确的是? ( )

A :十六进制转化为十进制, 可以使用除 16 求余数, 再顺序输出。

B :二进制转化为十进制, 可以使用除 2 求余数, 再逆序输出。

C :十六进制转化为十进制, 可以使用除 16 求余数, 再逆序输出。

D :n 位二进制能表示的最大十进制数是 2 的 n 次方减一。

正确答案:D
试题解析:理解 n 位二进制能表示的最大十进制数是 2 的 n 次方减一。

第 11 题 【单选题】

Python 中将十进制 20 转化成八进制, 我们可以使用下列哪个表达式? ( )

A :bin(20)

B :int(20)

C :oct(20)

D :hex(20)

正确答案:C
试题解析:用 python 中的数制转换函数进行十进制与八进制的转换

第 12 题 【单选题】

abs(-4. 8) 运行的结果是? ( )

A :4.8

B :-4

C :-5

D :5

正确答案:A
试题解析:abs() 是求绝对值函数。

第 13 题 【单选题】

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

A :len([1, 2, 3, 4, 5, 789])

B :max([78, 6, 5, 67] )

C :abs(-90)

D :round(38. 4)

正确答案:C
试题解析:
len() 表示求长度, 为 6;
max() 表示求最大值, 为 78;
abs() 求绝对值,为 90;
round()表示四舍五入, 小数位数参数省略表示保留到整数位, 为 38。

第 14 题 【单选题】

divmod(6, 2) 的运行结果是? ( )

A :8

B :4

C :(3, 0)

D :(0, 3)

正确答案:C
试题解析:
divmod(6, 2) 返回包含商和余数的元组, 即(3, 0) 。

第 15 题 【单选题】

运行下列程序, 输出的结果是? ( )

a=[34,7,8,23]

max(a)+abs(-5)

A :12

B :13

C :18

D :39

正确答案:D
试题解析:
max() 是求最大值, abs() 是求绝对值。 故程序的功能是将 34 与 5 相加。

第 16 题 【单选题】

set(’ 小明你好’ ) 运行的结果是? ( )

A :[’ 好’ , ’ 你’ , ’ 明’ , ’ 小’ ] # 列表中, 文字顺序不固定

B 😦’ 好’ , ’ 你’ , ’ 明’ , ’ 小’ ) #元组中, 文字顺序不固定

C :{’ 好’ , ’ 你’ , ’ 明’ , ’ 小’ } #集合中, 文字顺序不固定

D :{’ 你’ , ’ 好’ , ’ 小’ , ’ 明’ } #文字顺序固定

正确答案:C
试题解析: set() 函数可将文本转为集合, 集合的特点是元素顺序不固定, 所以正确答案是 C。

第 17 题 【单选题】

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

A :ord( ) 函数的参数是整数。

B :ord( ) 函数的参数是字符串类型。

C :chr( ) 函数的参数是字符串类型。

D :chr( ) 函数返回的数据类型是 int。

正确答案:B
试题解析:ord( ) 函数是返回字符所对应的 ASCII 值。 因此其参数为字符串类型。
chr() 函数是将对应的 ASCII 值转换为相应字符。 其参数为数值。

第 18 题 【单选题】

如下程序:

a=[5, 10, 32, 7]

for i in a:

      print(i,:, bin(i) )

该程序段的功能是? ( )

A :分别输出 5, 10, 32, 7 的二进制数。

B :分别输出 5, 10, 32, 7 的八进制数。

C :分别输出 5, 10, 32, 7 的在列表中的索引位置。

D :分别输出 5, 10, 32, 7 的十六进制数。

正确答案:A
试题解析:
bin() 转换为二进制, oct() 转换为八进制, hex() 转换为十六进制。 故程序功能是将列表中数字一一转换为对应的二进制数。

第 19 题 【单选题】

enumerate() 函数用于将一个可遍历的数据对象(如列表、 元组或字符串) 组合为一个索引序列。 下列程序

example = ' 7890'

for i, j in enumerate(example) :

        print(i, j)

运行后的输出结果是? ( )

A :
0, 7
1, 8
2, 9
3, 0

B :
(0 7)
(1 8)
(2 9)
(3 0)

C :
0 7
1 8
2 9
3 0

D :
(0, 7)
(1, 8)
(2, 9)
(3, 0)

正确答案:C
试题解析:本题考查学生对 enumerate() 函数的理解与掌握, 正确答案是选项 C。

第 20 题 【单选题】

如果不知道对象的数据类型, 我们可以使用什么函数查看? ( )

A :type()

B :dir()

C :set()

D :help()

正确答案:A
试题解析:type() 函数返回对象的类型。

第 21 题 【单选题】

运行下列程序, 输出的结果是? ( )

x=7

print(eval(“x+4) )

A :输出” x+4”

B :输出数字 11

C :输出“7+4”

D :程序出错

正确答案:B
试题解析:eval() 函数用来执行一个字符串表达式, 并返回表达式的值, 因此输出7+4 的计算结果。

第 22 题 【单选题】

关于 enumerate() 函数的说法不正确的是? ( )

A :该函数是 Python 内置函数。

B :该函数可用于判断数据类型是否是数值类型。

C :该函数可将一个可遍历对象按照设置的序号组合成一个索引序列。

D :该函数通常用在 for 循环中, 可返回一个内部由一个个元组组成的列表。

正确答案:B
试题解析:enumerate() 函数是 Python 的内置函数, 可以将一个可遍历/可迭代对象按 照设置的序号组成一个索引序列, 通常结合 for 循环使用, 返回一个列表, 内部由序号 和原有元素组成的元组组成。

第 23 题 【单选题】

“韩信点兵” 是一个古老的数学问题, 可以应用中国剩余定理进行求解。 以下是使用

计算机解决“韩信点兵” 问题的几个步骤:

①编写 Python 程序, 用计算机进行处理。

②设计“韩信点兵” 求解算法。

③验证算法的功能和性能。

④分析问题, 确定解题任务。

使用计算机解决“韩信点兵” 问题, 正确的步骤是下列哪一项? ( )

A :②④①③

B :④①②③

C :④②③①

D :④②①③

正确答案:D
试题解析:

第 24 题 【单选题】

关于算法描述的三种基本结构, 下列哪项正确? ( )

A :顺序结构、 选择结构、 循环结构。

B :if 选择结构、 for 循环、 while 循环。

C :处理框、 判断框、 流程线。

D :自然语言、 流程图、 程序设计语言。

正确答案:A
试题解析:

第 25 题 【单选题】

小明使用 Python 编程模拟绘制了物体在自由落体运动过程中产生的抛物线轨迹。小明设计的这一算法属于下列哪一种? ( )

A :枚举算法

B :解析算法

C :排序算法

D :对分查找算法

正确答案:B
试题解析:

第 1 题 【判断题】

小明编写了代码一, 小红看到后说: “我写的代码二, 打印出来的结果与小明的代码一相同”。
在这里插入图片描述

A :正确
B :错误
正确答案:B
试题解析:
小明的代码一, 每次循环都会读取文档的下一行, 并将该行用英文逗号切分成列表, 再打印出来; 小红的代码二, 是读取每一行, 以英文逗号切分为列表, 并追加到列表变量 a 的尾巴后面, 最后再打印变量 a。 两者打印出的结果不同。

第 2 题 【判断题】

有一个名为“身体素质.csv”的文件, 内容为学生的姓名、 身高和体重, 文件内容如下:

李四,127,32

王五,131,34

赵六,129,33

小明想编写代码, 在整个文件的首行, 插入数据“张三,133,36”, 他编写了如下代码, 请判断,

f = open('身体素质.csv', 'a')

f.seek(0,0) #用 seek()方法, 将文件指针移动到整个文件的最前面。

f.write('张三,133,36 ')

f.close()

A :正确
B :错误
正确答案:B
试题解析:
open() 函数的参数’ a’ , 是追加数据到文件末尾, seek() 函数虽然能移动读取文件时的指针位置, 但并不能移动写入文件时的位置, 所以答案为错误。

第 3 题 【判断题】

divmod()函数执行结果是返回一个包含商和余数的元组。 ( )

A :正确
B :错误
正确答案:A
试题解析:

第 4 题 【判断题】

八进制数 0o10 转化成十六进制数为 0x8。 ( )

A :正确
B :错误
正确答案:A
试题解析:
二进制、 十进制、 十六进制的概念及互相转换, 并且会 Python 中的数制转换函数。

第 5 题 【判断题】

执行代码 print(type(0x20) ) , 运行结果是<class ’ int’ >。 ( )

A :正确
B :错误
正确答案:A
试题解析:
了解八进制数也是一个整型

第 6 题 【判断题】

使用异常处理的方式执行程序时, 当 try 里面的程序出现数据类型输入错误时,执行 except ZeroDivisionError 下面的语句; 当 try 里面的程序出现除数为零的错误时, 执行 except ValueError 下面的语句。 ( )

A :正确
B :错误
正确答案:B
试题解析:
当 try 里面的程序出现数据类型输入错误时, 执行 except ValueError 下面 的语句; 当 try 里面的程序出现除数为零的错误时, 执行 except ZeroDivisionError 下面的语句。

第 7 题 【判断题】

all() 函数用于判断给定的可迭代参数中的所有元素是否都为 False, 若是返回 True, 否则返回 False。 ( )

A :正确
B :错误
正确答案:B
试题解析:
all() 函数用于判断给定的可迭代参数中的所有元素是否都为 True,若是返回 True, 否则返回 False。

第 8 题 【判断题】

any() 函数用于判断给定的可迭代参数中的所有元素是否都为 True, 若是返回 True,否则返回 False。 ( )

A :正确
B :错误
正确答案:B
试题解析:
any() 函数用于判断给定的可迭代参数中的所有元素是否都为 False,若是返回 False, 否则返回 True。

第 9 题 【判断题】

具有查看函数或模块说明功能的函数是 help() 。 ( )

A :正确
B :错误
正确答案:A
试题解析:help() 函数主要用于查看函数或模块用途的详细说明, 返回对象是帮助信息。

第 10 题 【判断题】

小明编写了如下所示的 3 行代码 :

list1 = ['赵','钱','孙','李','周','吴','郑','王']

print(list1[1:-4])

print(list1[1:4])

小红看到代码后说: “小明, 你这代码第 2 行与第 3 行, 两次运行的 print()函数,结果完全相同呀。 ”
请判断, 小红所说, 是否正确? ( )

A :正确
B :错误
正确答案:A
试题解析:
考查学生对列表切片时, 切片起始位置、 终止位置的理解。 本题运行结果, 2 行 Print() 都会打印出[’ 钱’ , ’ 孙’ , ’ 李’ ], 所以小红所说是正确的。

第 1 题 【问答题】

小明用冒泡排序算法编写了一段代码, 请帮他把代码中红色标记的 ①②③ 处, 补充完整。
在这里插入图片描述

正确答案:

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[j+1]: 
			a[j], a[j+1] = a[j+1], a[j] 
			print(a)

试题解析:
评分标准:

(1) n; (2 分)

(2) n-i-1; (4 分)

(3) j+1 。 (4 分)


网站公告

今日签到

点亮在社区的每一天
去签到