华南理工大学 Python第7章课后小测-1

2022-11-06,,

1、(单选)以下程序对字典进行排序,按字典键值从小到大排序,空白处的代码是(  ):

dt={'b':6, 'c':2, 'a':4}
s=sorted(dt.items(),key=_____)
print(s)

(本题分数:3)
A) lambda x:x[0]
B) lambda x:x[1]
C) dt.values()
D) dt.keys()
您的答案:A  正确率:100% 

2、(单选)以下程序从CSV格式的文件中读入数据,将由每行数据组成的列表写入ls中,空白处的代码是:

fo=open("demo.csv", "r")
ls=[]
for line in fo:
line=__________#去掉一行末尾的"\n"
ls.append(line.split(","))
fo.close()

(本题分数:3)
A) line.replace("\n","")
B) line[0:-1]
C) line.strip('\n')
D) 以上选项都可以
您的答案:D  正确率:100%

3、(单选)以下代码,将列表写入文件,空白处的代码是(  ):

fo = open("demo.txt", "w+")
ls = ['1','2','3']
_____
fo.close()

(本题分数:3)
A) fo.writelines(ls)
B) fo.writeline(ls)
C) fo.write(ls)
D) fo.append(ls)
您的答案:A  正确率:100%

4、(单选)下列文件打开方式中,若文件不存在,不会自动创建的是(本题分数:3)
A) file=open(path, 'wt')
B) file=open(path, 'rb')
C) file=open(path, 'wb')
D) file=open(path, 'at+')
您的答案:B  正确率:100%

5、(单选)假设test.txt文件的内容是:
aaaa
bbbb
cccc
以下代码的输出结果是

f = open("test.txt", "r")
print(f.readline(3))
f.close()

(本题分数:3)
A) cccc
B) aaa
C) aaaa
D) 程序运行出错
您的答案:B  正确率:100%

6、(单选)以下文件的打开方式,不能对文件进行写操作的是。(本题分数:3)
A) f = open("demo.txt", "w+")
B) f = open("demo.txt", "r+")
C) f = open("demo.txt", "rw")
D) f = open("demo.txt", "x")

【解析】'rw'的写法不对,不能同时写两种打开模式
您的答案:C  正确率:100%

7、(单选)执行下列程序,文件中保存的内容为

file=open('test.txt', 'wt+')
file.write('hello SCUT')
file.close()
file=open('test.txt', 'at+')
file.write('hello world')
file.close()

(本题分数:3)
A) hello SCUT hello world
B) hello SCUT world
C) hello world
D) hello SCUThello world
您的答案:D  正确率:100%

8、(单选)以下选项对文件描述错误的是:(本题分数:3)
A) 文件是数据的集合和抽象
B) 文件可以包含任何内容
C) 文件是存储在辅助存储器上的数据序列
D) 文件是程序的集合和抽象

【解析】函数或类是程序的集合和抽象,文件不是
您的答案:D  正确率:100%

9、(单选)Python对文件操作采用的统一步骤是:(本题分数:3)
A) 打开—操作—关闭
B) 操作—读取—写入
C) 打开—读取—写入—关闭
D) 打开—读写—写入

【解析】打开—操作—关闭是一个统一步骤,其中,关闭可以省略
您的答案:A  正确率:100%

10、(单选)对于Python文件,以下描述正确的是:(本题分数:3)
A) 同一个文件可以既采用文本方式打开,也可以采用二进制方式打开
B) 当文件以文本方式打开时,读取按照字节流方式
C) 当文件以二进制文件方式打开时,读取按照字符串方式
D) 根据不同类型的文件,打开方式只能是文本或者二进制中的一种

【解析】文件就在那里,二进制或文本方式打开只是对其不同的程序理解
您的答案:A  正确率:100%

11、(单选)以下选项不是Python对文件的读操作方法的是()(本题分数:3)
A) readlines()
B) readtext()
C) read()
D) readline()

【解析】没有readtext()方法
您的答案:B  正确率:100%

12、(单选)关于Python文件的‘+’打开模式,哪个选项的描述是正确的?(本题分数:3)
A) 追加写模式
B) 与r/w/a/x一同使用,在原功能基础上增加同时读写功能
C) 覆盖写模式
D) 只读模式

【解析】'+'打开模式的精髓在于它能够同时赋予文件的读写权限
您的答案:B  正确率:100%

13、(单选)关于文件关闭的close()方法,哪个选项的描述是正确的?(本题分数:3)
A) 文件处理后可以不用close()方法关闭文件,程序退出时会默认关闭
B) 文件处理结束之后,一定要用close()方法关闭文件
C) 文件处理遵循严格的“打开-操作-关闭”模式
D) 如果文件是只读方式打开,仅在这种情况下可以不用close()方法关闭文件

【解析】打开文件后采用close()关闭文件是一个好习惯。如果不调用close(),当前Python程序完全运行退出时,该文件引用被释放,即程序退出时,相当于调用了close()
您的答案:A  正确率:100%

14、(单选)以下代码逐行打印文件的内容,空白处的代码是:

fo = open("demo.txt", "r")
for line in _____:
print(line)

(本题分数:3)
A) fo.readlines()
B) fo
C) 两者都可
D) 两者都不对
您的答案:C  正确率:100%

15、(单选)关于文件路径的写法,以下错误的是(  ):(本题分数:3)
A) f=open("c:\t1.txt")
B) f=open("c:\\t1.txt")
C) f=open("c:/t1.txt")
D) f=open("c://t1.txt")

【解析】\是转义字符,"c:\t1.txt"中的"\t"有特殊含义,因此open的参数出错
您的答案:A  正确率:100%

16、(单选)关于文件路径的写法,以下错误的是(  ):(本题分数:3)
A) c:\2020.txt
B) c:/2020.txt
C) c:\\2020.txt
D) c://2020.txt
您的答案:A  正确率:100%

17、(单选)以下文件的打开方式,不能对文件进行读操作的是。(本题分数:3)
A) f = open("demo.txt", "r")
B) f = open("demo.txt", "x")
C) f = open("demo.txt", "w+")
D) f = open("demo.txt", "r+")
您的答案:B  正确率:100%

18、(程序填空)以下程序打开一个文件,并逐行打印。

fname = input("请输入要打开的文件: ")
fo = __(1)__ #以只读方式打开文件
for __(2)__: #循环遍历文件的每一行
print(line)
__(3)__ #关闭文件

(本题分数:8)

【参考答案】
(1)open(fname, "r")
(2)line in fo 或者 line in fo.readlines()
(3)fo.close()
评分标准:
1、写错1空,扣30分
2、第(2)空,两种写法都对

19、(程序填空)以下程序完成文件的写入。

fname = input("请输入要写入的文件: ")
fo =__(1)__ #以写方式打开文件
ls = ["唐诗", "宋词", "元曲"]
__(2)__ #将ls写入文件fo,并且使得每个元素一行
fo.close()

(本题分数:8)

【参考答案】
(1)open(fname, "w+") 或者 open(fname, "w")
(2)fo.write('\n'.join(ls))
评分标准:
1、每空50分

20、(程序填空)将你的学号、姓名、和班级定义在一个列表中,然后分行将列表中的内容写入文本文件name.txt中。

fo = open('name.txt','w')
(1) #定义包含你的学号、姓名和班级的列表
for (2)#循环遍历列表中的元素
(3) #将列表元素分行写入文件
fo.close()

(本题分数:8)

【参考答案】
(1)ls=["2019","我的姓名","我的班级"]
(2)i in ls:
(3)fo.write(i+'\n')
评分标准:
1、空(1)填写具体学生的学号,姓名和班级
2、空(3)没有+'\n',扣20分

21、(程序填空)下面程序实现统计文本文件“ test.txt” 中最长行的长度和并打印该行的内容。请在(1)、(2)、(3)中填写合适的内容。

fp=open('test.txt','r')
result,ls =0, []
for line in __(1)__:
t = len(line)
if t > result:
result = t
__(2)__=line
print(result)
print(ls)
fp.__(3)__

(本题分数:8)

【参考答案】
(1)fp 或fp.readlines()
(2)ls
(3)close()
评分标准:共3个空,(2)(3)空格各30分,(1)空40分。填错不给分。

22、(写运行结果)给出以下程序的运行结果

for x, y in ((1,0), (2,5), (3,8)):
print(x*y)

(本题分数:8)

【参考答案】
0
10
24
评分标准:
1、错1空,扣30分

23、(写运行结果)给出以下程序的运行结果

Dcountry={"中国":"北京", "美国":"华盛顿", "法国":"巴黎"}
for key in Dcountry:
print(key)

(本题分数:8)

【参考答案】
中国
美国
法国
评分标准:
1、错写一个输出,扣30分

华南理工大学 Python第7章课后小测-1的相关教程结束。

《华南理工大学 Python第7章课后小测-1.doc》

下载本文的Word格式文档,以方便收藏与打印。