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