版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
《Python程序设计》期末考试试卷(四)课程名称:Python程序设计
适用专业:计算机相关专业
考试形式:闭卷笔试
考试时间:120分钟
总分:100分一、单项选择题(共20题,每题2分,共40分)Python3.x版本默认的字符编码是:A.ASCIIB.GBKC.UTF-8D.Unicode表达式True+2的结果是:A.3B.True2C.报错D.2想要获取字符串s=“Python”的长度,应该使用:A.s.len()B.len(s)C.s.lengthD.count(s)下列哪种数据类型是可变(mutable)的?A.字符串(str)B.元组(tuple)C.列表(list)D.整数(int)已知a=[1,2]和b=[1,2],执行a==b和aisb的结果分别是:A.True,TrueB.True,FalseC.False,TrueD.False,False关于字典的遍历,下列哪种写法是正确的?A.forkey,valueindict:B.forkeyindict.keys():C.forvalueindict:D.foritemindict.items():集合的difference()方法执行的操作是:A.返回两个集合的并集B.返回两个集合的交集C.返回第一个集合有而第二个集合没有的元素D.返回两个集合的对称差集函数定义deffunc(*args,**kwargs):中,args和kwargs分别接收什么?A.关键字参数,默认参数B.可变关键字参数,可变位置参数C.可变位置参数(元组),可变关键字参数(字典)D.默认参数,命名关键字参数关于变量的作用域,下列说法正确的是:A.函数内部可以任意修改全局变量B.在函数内部使用nonlocal可以声明外层(非全局)变量C.局部变量在函数调用结束后依然存在D.全局变量在所有模块中都可以直接访问以下代码的输出是:f=lambdax:x%2==0print(list(filter(f,range(5))))A.[0,2,4]B.[True,False,True,False,True]C.[1,3]D.[0,1,2,3,4]以下哪个特殊方法决定了对象被len()函数调用时的行为?A.__len__B.__size__C.__length__D.__str__使用@staticmethod装饰器定义的方法:A.第一个参数是selfB.第一个参数是clsC.没有默认的self或cls参数D.只能通过类名调用以二进制读取模式打开一个图像文件,正确的语句是:A.open(‘image.jpg‘,‘r‘)B.open(‘image.jpg‘,‘rb‘)C.open(‘image.jpg‘,‘r+b‘)D.open(‘image.jpg‘,‘br‘)使用pathlib判断一个路径是否是文件,应该使用哪个方法?A..is_dir()B..is_file()C..exists()D..is_absolute()下列哪个异常属于OSError的子类?A.ValueErrorB.FileNotFoundErrorC.TypeErrorD.KeyError在SQL中,用于从数据库中选择特定列的命令是:A.SELECTcolumn1,column2FROMtableB.GETcolumn1,column2FROMtableC.EXTRACTcolumn1,column2FROMtableD.FINDcolumn1,column2INtable在Pandas中,用于将两个DataFrame按行合并的函数是:A.pd.merge()B.pd.concat()C.df.join()D.df.append()Matplotlib中,用于设置X轴刻度标签的函数是:A.plt.xlabel()B.plt.xticks()C.plt.xlim()D.plt.title()关于Python的迭代器(Iterator),下列说法错误的是:A.迭代器对象必须实现__iter__和__next__方法B.for循环本质上就是利用了迭代器C.列表(list)本身就是一个迭代器D.next()函数用于从迭代器中获取下一个元素使用pip命令安装名为requests的第三方库,正确的命令是:A.piprequestsB.pipinstallrequestsC.pythoninstallrequestsD.importpip;pip.install(‘requests‘)二、判断题(共15题,每题1分,共15分)Python中的变量在使用前必须先声明类型。()print(‘a‘>‘A‘)
的结果是
True。()列表的切片操作
list[start:stop]
包含
start
索引,不包含
stop
索引。()元组支持
+(连接)和
*(重复)操作。()字典的键必须是不可变类型,因此列表不能作为字典的键。()函数的参数传递都是“传值调用”。()装饰器可以用于修改或增强函数的功能而不改变其定义。()一个类可以同时继承多个父类。()实例属性会覆盖同名的类属性。()withopen(‘file‘,‘w‘)asf:
会创建一个新文件,如果文件已存在则报错。()os.path.join(‘folder‘,‘sub‘,‘file.txt‘)
在不同操作系统上会生成正确的路径分隔符。()在
try...except...else
结构中,else
子句在发生异常时执行。()SQL语句
INSERT
和
UPDATE
都需要使用
mit()
来提交事务。()Pandas的
DataFrame
可以被视为一个由
Series
组成的字典。()plt.plot()
默认生成散点图。()三、填空题(共15空,每空1分,共15分)在Python中,用于多行注释的符号是三个连续的
'''
或
"""。表达式
bool([])
的结果是
______。使用
______
方法可以将字符串中的所有字母转换为小写。列表
a=[10,20,30],执行
a.insert(1,15)
后,a
变为
______。使用
______
关键字可以定义一个匿名函数。在函数内部,使用
______
关键字可以声明一个变量为全局变量。类的
______
方法在对象被创建时自动调用。使用
json
模块的
______
方法可以将Python对象转换为JSON格式的字符串。os
模块中的
______
函数可以获取当前工作目录。在正则表达式中,______
表示匹配一个单词字符(字母、数字、下划线)。SQL语句
______
用于从表中删除满足条件的记录。在Pandas中,df.______(axis=1)
可以删除所有值都为NaN的列。plt.______()
函数用于在图表中添加图例。使用
______
模块可以方便地进行日期和时间处理。在Python中,用于测试一个对象是否是某个类的实例的函数是
______。四、程序填空题(共2段程序,10个空,每空1分,共10分)1.学生成绩管理系统(5空)#学生成绩字典,键为学号,值为分数列表grades={‘S001‘:[85,90,78],‘S002‘:[92,88,95],‘S003‘:[70,65,80],}#任务1:计算每个学生的平均分averages={}forsid,score_listingrades.items():avg=sum(score_list)/______(1)______#计算平均分averages[sid]=round(avg,2)#保留两位小数#任务2:找出平均分最高的学生top_student=______(2)______(averages.items(),key=lambdax:x[1])#使用max函数print(f‘平均分最高的学生:学号{top_student[0]},平均分{top_student[1]}‘)#任务3:为所有学生的第三门课成绩加5分(假设是平时分奖励)forsidingrades:grades[sid][2]=grades[sid][2]+5#索引2表示第三门课#任务4:将更新后的成绩和平均分写入文件withopen(‘final_grades.txt‘,‘w‘,encoding=‘utf-8‘)asf:forsid,score_listingrades.items():avg=averages.get(sid,0)line=f‘{sid}:成绩{score_list},平均分{avg}‘f.write(line+______(3)______)#写入一行并换行#任务5:读取文件并打印内容print(‘\n文件内容:‘)withopen(‘final_grades.txt‘,______(4)______,encoding=‘utf-8‘)asf:#以只读模式打开forlineinf:print(line.______(5)______(),end=‘‘)#去除末尾换行符再打印2.数据处理与异常捕获(5空)importsqlite3importpandasaspddefprocess_student_data(db_path,output_csv):“”“从SQLite数据库读取学生数据,处理并保存为CSV”“”conn=Nonetry:conn=sqlite3.______(6)______(db_path)#连接数据库#假设表名为students,有id,name,score三列query=“SELECTid,name,scoreFROMstudentsWHEREscore>=60;“df=pd.read_sql_query(query,______(7)______)#执行查询并将结果读入DataFrameifdf.empty:print(‘没有找到及格的学生数据。‘)returnFalse#计算平均分mean_score=df[‘score‘].______(8)______()print(f‘及格学生的平均分是:{mean_score:.2f}‘)#添加一列‘pass_level‘,如果分数>=85则为‘优秀‘,否则为‘合格‘df[‘pass_level‘]=df[‘score‘].apply(lambdax:______(9)______ifx>=85else‘合格‘)#保存到CSV文件df.to_csv(output_csv,______(10)______=False)#不保存行索引print(f‘数据已保存到{output_csv}‘)returnTrueexceptsqlite3.Errorase:print(f‘数据库操作失败:{e}‘)returnFalseexceptExceptionase:print(f‘未知错误:{e}‘)returnFalsefinally:ifconn:conn.close()#测试process_student_data(‘school.db‘,‘qualified_students.csv‘)五、编程题(共2题,每题10分,共20分)1.面向对象设计:图书馆借阅系统(10分)任务:设计
Book
类,属性包括:isbn(ISBN号)、title(书名)、author(作者)、is_borrowed(是否被借出,布尔值,初始为
False)。设计
Library
类,属性为一个存储
Book
对象的字典
books(以ISBN号为键)。为
Library
类实现以下方法:add_book(book):向图书馆添加一本书。borrow_book(isbn):根据ISBN借出一本书。如果书不存在或已被借出,则返回相应的提示信息;否则将
is_borrowed
标记为
True。return_book(isbn):归还一本书。如果书不存
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年工业机器人运维维修服务绿色物流案例
- 2025年家庭影院装饰画声学设计
- 护理诊断的案例研究
- 2026年山西省中考英语一模试卷(含答案)
- 智能体构建与应用开发(Python+LangChain)(微课版)课件全套 项目1-8 认识大语言模型和智能体- 部署和发布智能体
- 选矿集控工保密强化考核试卷含答案
- 幻灯机与投影机维修工安全技能测试强化考核试卷含答案
- 道路巡视养护工复试模拟考核试卷含答案
- 2026年新科教版高中高二物理下册第一单元交变电流综合计算卷含答案
- 洗衣师安全生产规范考核试卷含答案
- 鲁迅《孤独者》解读大纲
- 预防患者交叉感染措施
- DB45∕T 2362-2021 城镇排水管渠运行维护技术规程
- 呼吸机相关肺炎院感防控体系构建
- 大健康连锁店商业计划书
- 2024广西金融职业技术学院辅导员招聘笔试真题
- 井下煤矿爆破方案(3篇)
- 校园消防设施改造项目可行性研究报告
- JG/T 252-2015建筑用遮阳天篷帘
- CJ/T 511-2017铸铁检查井盖
- 幼儿园项目式课程教学培训
评论
0/150
提交评论