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]

正确答案 B

这是二维切片的使用方式。

 

10.关于数据组织的维度,哪个选项的描述是错误的?‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬

A. 高维数据由键值对类型的数据构成,采用对象方式组织

B. 一维数据采用线性方式组织,对应于数学中的数组和集合等概念

C. 二维数据采用表格方式组织,对应于数学中的矩阵

D.  数据组织存在维度,字典类型用于表示一维和二维数据

正确答案 D

字典用于表示高维数据,一般不用来表示一二维数据。

 

程序设计题

11.文本的平均列数

描述

打印输出附件文件的平均列数,计算方法如下:‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬

(1)有效行指包含至少一个字符的行,不计算空行;‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬

(2)每行的列数为其有效字符数;‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬

(3)平均列数为有效行的列数平均值,采用四舍五入方式取整数进位。‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬

输入输出示例

仅给出输出格式示例,非正确答案。‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬

  输入 输出
示例 1
123

 我的代码

#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
    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))

 

你可能感兴趣的:(MOOC《Python语言程序设计》第7周测试题)