MOOC《Python语⾔程序设计》第7周测试题单项选择题
点击选项选择正确答案,每题有且仅有⼀个正确答案
1.以下选项不是Python⽂件读操作的是:
A. readline()
B. readlines()
C. readtext()
D. read()
正确答案 C
没有readtext()⽅法
2.关于CSV⽂件的描述,哪个选项的描述是错误的?
A. CSV⽂件格式是⼀种通⽤的、相对简单的⽂件格式,应⽤于程序之间转移表格数据
B. CSV⽂件通过多种编码表⽰字符
C. CSV⽂件的每⼀⾏是⼀维数据,可以使⽤Python中的列表类型表⽰
D. 整个CSV⽂件是⼀个⼆维数据
正确答案 B
⼀般来说,CSV⽂件都是⽂本⽂件,由相同编码字符组成。
3.对于Python⽂件,以下描述正确的是:
A. 当⽂件以⽂本⽅式打开时,读取按照字节流⽅式
B. 同⼀个⽂件可以既采⽤⽂本⽅式打开,也可以采⽤⼆进制⽅式打开
C. 当⽂件以⼆进制⽂件⽅式打开时,读取按照字符串⽅式
D. 根据不同类型的⽂件,打开⽅式只能是⽂本或者⼆进制中的⼀种
正确答案 B
⽂件就在那⾥,⼆进制或⽂本⽅式打开只是对其不同的程序理解。
4.Python对⽂件操作采⽤的统⼀步骤是:
A. 操作—读取—写⼊
B. 打开—读取—写⼊—关闭
C. 打开—读写—写⼊
D. 打开—操作—关闭
正确答案 D
打开—操作—关闭  是⼀个统⼀步骤,其中,关闭可以省略。
5.关于⽂件关闭的close()⽅法,哪个选项的描述是正确的?
A. ⽂件处理结束之后,⼀定要⽤close()⽅法关闭⽂件
B. 如果⽂件是只读⽅式打开,仅在这种情况下可以不⽤close()⽅法关闭⽂件
C. ⽂件处理遵循严格的“打开-操作-关闭”模式
D. ⽂件处理后可以不⽤close()⽅法关闭⽂件,程序退出时会默认关闭
正确答案 D完整的三角函数图像
打开⽂件后采⽤close()关闭⽂件是⼀个好习惯。
如果不调⽤close(),当前Python程序完全运⾏退出时,该⽂件引⽤被释放,即程序退出时,相当于调⽤了close()。
6.以下选项对⽂件描述错误的是:
A. ⽂件是程序的集合和抽象
B. ⽂件是存储在辅助存储器上的数据序列
C. ⽂件是数据的集合和抽象
D. ⽂件可以包含任何内容
正确答案 A
函数或类是程序的集合和抽象,⽂件不是。
7.给定列表ls = [1, 2, 3, "1", "2", "3"],其元素包含2种数据类型,哪个选项是列表ls的数据组织维度?
A. ⼀维数据
B. ⾼维数据
C. ⼆维数据
D. 多维数据
正确答案 A
列表元素如果都是列表,其可能表⽰⼆维数据,例如:[[1,2], [3,4], [5,6]]。
如果列表元素不都是的将列表,则它表⽰⼀维数据。
8.关于Python⽂件的‘+’打开模式,哪个选项的描述是正确的?
A. 只读模式
B. 追加写模式
C. 与r/w/a/x⼀同使⽤,在原功能基础上增加同时读写功能
D. 覆盖写模式
正确答案 C
'+'打开模式的精髓在于它能够同时赋予⽂件的读写权限。
9.⼆维列表ls=[[1,2,3], [4,5,6],[7,8,9]],哪个选项能获取其中元素5?
A. ls[4]
B. ls[1][1]
永久免费小程序模板C. ls[-1][-1]
D. ls[-2][-1]
python基础知识测试正确答案 B
这是⼆维切⽚的使⽤⽅式。
10.关于数据组织的维度,哪个选项的描述是错误的?
A. ⾼维数据由键值对类型的数据构成,采⽤对象⽅式组织
B. ⼀维数据采⽤线性⽅式组织,对应于数学中的数组和集合等概念
C. ⼆维数据采⽤表格⽅式组织,对应于数学中的矩阵
D.  数据组织存在维度,字典类型⽤于表⽰⼀维和⼆维数据
正确答案 D
字典⽤于表⽰⾼维数据,⼀般不⽤来表⽰⼀⼆维数据。抹茶交易所
程序设计题
11.⽂本的平均列数
描述
打印输出附件⽂件的平均列数,计算⽅法如下:
(1)有效⾏指包含⾄少⼀个字符的⾏,不计算空⾏;标准ascii码和扩展ascii码的区别
(2)每⾏的列数为其有效字符数;
(3)平均列数为有效⾏的列数平均值,采⽤四舍五⼊⽅式取整数进位。
输⼊输出⽰例
仅给出输出格式⽰例,⾮正确答案。
输⼊输出
⽆123⽰例 1
我的代码
#week7.11.py
f = open('latex.log',encoding='utf-8')
counts,num = 0,0
for line in f:
if len(line) == 1:    #这两⾏的⽬的是为了过滤掉只⾏换⾏符的空⾏        continue
counts += 1
scannow是什么意思num += len(line) - 1
print("{:.0f}".format(num/counts))
f.close()
参考代码
f = open("latex.log")
s, c = 0, 0
for line in f:
line = line.strip("\n")    #将每⼀⾏字符串⾸尾的换⾏符去掉
if line == "":            #过滤掉空⾏
continue
s += len(line)
c += 1
print(round(s/c))

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。