Python程序设计任务驱动式教程-模块7 模块测试部分的参考答案 朱修改后_第1页
Python程序设计任务驱动式教程-模块7 模块测试部分的参考答案 朱修改后_第2页
Python程序设计任务驱动式教程-模块7 模块测试部分的参考答案 朱修改后_第3页
Python程序设计任务驱动式教程-模块7 模块测试部分的参考答案 朱修改后_第4页
Python程序设计任务驱动式教程-模块7 模块测试部分的参考答案 朱修改后_第5页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

知识测试一、单选题1.关于程序的异常处理,以下选项中描述错误的是?(C)A.程序异常发生经过妥善处理可以继续执行B.异常语句可以与else和finally保留字配合使用C.编程语言中的异常和错误是完全相同的概念D.Python通过try、except等保留字提供异常处理功能2.打开一个已有文件,然后在文件末尾添加信息,正确的打开方式为(C

)。A.‘r’B.‘w’

C.‘a’D.‘w+’3.假设文件不存在,如果使用open方法打开文件会报错,那么该文件的打开方式是下列哪种模式?(

A

)A.‘r’B.‘w’C.‘a’D.‘w+’4.假设file是文本文件对象,下列选项中,哪个用于读取一行内容?(

C

)A.file.read()B.file.read(200)

C.file.readline()D.file.readlines()5.下列语句打开文件的位置应该在(

D

)。f=open('itheima.txt','w')A.C盘根目录下B.D盘根目录下C.Python安装目录下D.与源文件在相同的目录下6.若文本文件abc.txt中的内容如下:abcdef阅读下面的程序:file=open("abc.txt","r")s=file.readline()s1=list(s)print(s1)上述程序执行的结果为(C)。A.[‘abcdef’]B.[‘abcdef\n’]C.[‘a’,‘b’,‘c’,‘d’,‘e’,‘f’]D.[‘a’,‘b’,‘c’,‘d’,‘e’,‘f’,’\n’]7.当try语句中没有任何错误信息时,一定不会执行(

C

)语句。A.tryB.else

C.exceptD.finaly8.下列选项中,(

A

)是唯一不再运行时发生的异常。A.ZeroDivisionErrorB.NameErrorC.SyntaxErrorD.KeyError9.下列选项中,用于触发异常的是(

C

)。A.tryB.catchC.raiseD.except二、填空题1.打开文件对文件进行读写,操作完成后应该调用

close()

方法关闭文件,以释放资源。2.使用readlines()方法把整个文件中的内容进行一次性的读取,返回的是一个

列表。3.os模块中的mkdir()方法用于创建

文件夹。4.如果在没有

except的try语句中使用else语句,会引发语法错误。三、简答题1.open()函数中mode参数的常用值有哪些?参考答案:‘r’,只读模式,打开文件后可读,不可修改。‘w’,写模式,如果文件不存在,则创建文件再打开;如果文件存在,写入新内容会覆盖原有内容。‘a’,追加模式,如果文件不存在,则创建文件再打开;如果文件存在,打开文件后将新内容追加至原内容之后。‘rb’,以二进制模式,采用只读模式打开文件,一般用于音频文件,图片文件。‘wb’,以二进制模式,采用只写模式打开文件,一般用于音频文件,图片文件。‘r+’,读写(覆盖)模式。打开文件后可读可写,新写入的内容会覆盖原文件内容,写入几个字符,则覆盖几个字符。‘w+’,读写(覆盖)模式,打开文件后可读可写,先清空原内容再写入新内容。‘a+’,读写(追加)模式,打开文件后可读可写,写入模式是追加式,将新内容追加至原内容之后。2.常用的异常处理语句有哪些?参考答案:(1)try-except-else语句。(2)try-finally语句。(3)raise抛出异常。(4)assert语句。四、编程题1.使用Python代码实现遍历一个文件夹的操作。参考答案:importosfile=r'D:\\firstPro'forroot,dirs,filesinos.walk(file):forfileinfiles:path=os.path.join(root,file)print(path)运行结果:D:\\firstPro\firstPro.dspD:\\firstPro\firstPro.dswD:\\firstPro\firstPro.ncbD:\\firstPro\firstPro.opt2.编写程序,生成一个文件,文件名为“学号姓名.txt”(写自己真实的学号和姓名,机器不支持汉字的可以用拼音);文件内容为学Python这门课的收获、感想或建议。参考答案:deftext_create(name,msg):desktop_path="D:\\"#新创建的txt文件的存放路径full_path=desktop_path+name+'.txt'#也可以创建一个.doc的word文档file=open(full_path,'w')file.write(msg)#msg也就是下面的Helloworld!#file.close()text_create('2022001张三','Python学习之路并不简单,学习如同一件漫长的旅程,它需要我们的耐心、智慧和勇气。在这个过程中,我们要积极探索,不断尝试,并总结总结经验和教训,这样才能够最终学会编程并在实际项目采用Python编程。')运行结果:在D盘创建一个2022001张三.txt文件,并写入学习Python的心得体会。3.编写一个计算减法的方法,当第一个数小于第二个数时,抛出“被减数不能小于减数"的异常。#创建一个txt文件,文件名为mytxtfile,并向文件写入msgdefjianfa(a,b):ifa<b:raiseBaseException("被减数不能小于减数")else:returna-btry:jianfa(3,7)exceptBaseExceptionaserror:print("好像出错了,出错的内容是{}".format(error))运行结果:好像出错了,出错的内容是被减数不能小于减数技能测试基础任务1.从键盘输入一些字符,逐个把它们写到指定的文件,直到输入一个@为止。示例1:请输入文件名:out.txt请输入字符串:Pythonisopen.@执行代码后,out.txt文件中内容为:Pythonisopen.程序代码:print("输入@后的内容将不再输入到文件中")try:word=input("请输入您想输入到文件的字符:")file_write=open("out.txt","w",encoding="utf-8")exceptExceptionasreason:print(reason)else:forfile_wordinword:iffile_word=="@":breakelse:file_write.write(file_word)file_write.close()withopen("out.txt","r",encoding="utf-8")asfile_read:print(file_read.read()) file_read.close()运行结果:C:\ProgramData\Anaconda3\python.exeD:/blue7/01.py输入@后的内容将不再输入到文件中请输入您想输入到文件的字符:Pythonisopen.@Pythonisopen.进程已结束,退出代码02.定义一个函数func(filename)filename:文件的路径,函数功能:打开文件,并且返回文件内容,最后关闭,用异常来处理可能发生的错误程序代码:importosdeffunc(filename):

try:

file=open(filename)

exceptExceptionaserror:

print("出错啦,出错的内容是{}".format(error))

else:

print(file.read())

file.close()func("hahaha.txt")运行结果:出错啦,出错的内容是[Errno2]Nosuchfileordirectory:'hahaha.txt'拓展任务1.王爷爷的血压有些高,医生让家属给他测血压。王爷爷的女儿记录了一段时间的血压测量值,在文件xueyajilu.txt中,内容示例如下:2020/7/26:00,140,82,136,90,692020/7/215:28,154,88,155,85,632020/7/36:30,131,82,139,74,612020/7/316:49,145,84,139,85,732020/7/45:03,152,87,131,85,63;文件内各部分含义如下:测量时间,左臂高压,左臂低压,右臂高压,右臂低压,心率根据题意,实现下述功能。(1)使用字典和列表类型进行数据分析,获取老王的左臂和右臂血压情况的对比表,输出到屏幕上,请注意每列对齐:低压最高值左臂和右臂的血压平均值左臂和右臂的高压差平均值、低压差平均值心率的平均值程序代码:print("对比表""""左臂""""右臂")left=[]right=[]withopen("xueyajilu.txt","w",encoding="gbk")asxueyajilu:xueyajilu.write("2020/7/26:00140,82,136,90,69""\n""2020/7/215:28154,88,155,85,63""\n""2020/7/36:30131,82,139,74,61""\n""2020/7/316:49145,84,139,85,73""\n""2020/7/45:03152,87,131,85,63""\n")withopen("xueyajilu.txt","r",encoding="gbk")asxueyajilu_read:jilu=[]forxueyajilu_dictionary_wordinxueyajilu_read.readlines():xueyajilu_end=xueyajilu_dictionary_word.rstrip("\n")jilu.append(xueyajilu_end)xueya_dictionary={}count_end=0forjinjilu:count_end+=1xueya_dictionary[count_end]=[j]diya_maxs=[]fordiyainrange(1,6):diya_max=[]diya_max=xueya_dictionary[diya]diya_maxs+=diya_maxdiya_count_left=[]diya_count_right=[]forcountinrange(0,5):diya_count_left.append(diya_maxs[count][19:21])diya_count_right.append(diya_maxs[count][26:28])print("低压最高值",max(diya_count_left),"",max(diya_count_right))right.append((max(diya_count_right)))left.append((max(diya_count_left)))diya_count_left_int_list=sum(list(map(int,diya_count_left)))diya_count_right_int_list=sum(list(map(int,diya_count_right)))print("低压平均值",diya_count_left_int_list/len(diya_count_left),"",diya_count_right_int_list/len(diya_count_right))left.append("%.1f"%(diya_count_left_int_list/len(diya_count_left)))right.append("%.1f"%(diya_count_right_int_list/len(diya_count_right)))xueya_average_left=[]xueya_average_right=[]foraverage_countinrange(0,5):xueya_average_left.append(diya_maxs[average_count][15:18])xueya_average_left.append(diya_maxs[average_count][19:21])xueya_average_right.append(diya_maxs[average_count][22:25])xueya_average_right.append(diya_maxs[average_count][26:28])xueya_average_left_int_list=sum(list(map(int,xueya_average_left)))xueya_average_right_int_list=sum(list(map(int,xueya_average_right)))print("血压平均值",xueya_average_left_int_list/len(xueya_average_left),"",xueya_average_right_int_list/len(xueya_average_right))left.append("%.1f"%(xueya_average_left_int_list/len(xueya_average_left)))right.append("%.1f"%(xueya_average_right_int_list/len(xueya_average_right)))xueya_left=[]xueya_right=[]forxueya_countinrange(0,5):xueya_left.append(diya_maxs[xueya_count][15:18])xueya_right.append(diya_maxs[xueya_count][22:25])xueya_left_int_list=sum(list(map(int,xueya_left)))xueya_right_int_list=sum(list(map(int,xueya_right)))print("高压平均值",xueya_left_int_list/len(xueya_left),"",xueya_right_int_list/len(xueya_left))print("压差平均值","%.1f"%(xueya_left_int_list/len(xueya_left)-diya_count_left_int_list/len(diya_count_left)),"",xueya_right_int_list/len(xueya_

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论