版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
《Python程序设计》期末考试试卷(三)课程名称:Python程序设计
适用专业:计算机相关专业
考试形式:闭卷笔试
考试时间:120分钟
总分:100分一、单项选择题(共20题,每题2分,共40分)下列哪个选项不是Python的基本数据类型?A.intB.listC.arrayD.dict执行print(3*‘ab‘)的输出结果是:A.abababB.‘ab‘*3C.3abD.报错在Python中,用于逻辑“与”运算的运算符是:A.&B.andC.&&D.or已知列表a=[1,2,3],要将列表扩展为[1,2,3,4,5],应使用:A.a.append([4,5])B.a.extend([4,5])C.a.insert(3,[4,5])D.a=a+4+5关于元组,以下说法正确的是:A.元组创建后,可以使用append方法添加元素B.元组中的元素值可以被修改C.元组可以作为字典的键D.元组比列表占用的内存更多字典的pop方法和del语句的主要区别是:A.pop可以指定默认值,del不能B.pop会返回值,del不会C.pop只能删除最后一个元素D.没有区别集合s={1,2,3},执行s.add(2)和s.update([3,4])后,s的结果是:A.{1,2,3,4}B.{1,2,3,2,3,4}C.{1,2,3}D.{1,2,3,2,4}关于函数的返回值,下列说法正确的是:A.函数必须有return语句B.函数可以返回多个值(实质是返回一个元组)C.return语句只能返回一个值D.函数没有return语句则返回0列表推导式[xforxinrange(10)ifx%2==0]的结果是:A.[0,2,4,6,8]B.[1,3,5,7,9]C.[0,1,2,3,4,5,6,7,8,9]D.[2,4,6,8]在模块utils.py中定义了函数process(),在另一个文件中如何正确导入并调用?A.importprocessfromutils;process()B.importutils;cess()C.fromutilsimportprocess();D.fromutilsimport*;cess()面向对象编程的“封装”特性主要目的是:A.实现代码的复用B.隐藏对象的内部实现细节,仅对外提供接口C.一个接口,多种实现D.子类可以继承父类的特征在类的方法定义中,使用@classmethod装饰器的方法,其第一个参数通常命名为:A.selfB.clsC.thisD.class关于文件操作模式,下列描述错误的是:A.‘r‘以只读方式打开文件B.‘w‘以写入方式打开文件,会覆盖原文件C.‘a‘以追加方式打开文件D.‘x‘以读写方式打开文件,如果文件已存在则打开使用pathlib模块,获取当前脚本所在目录的父目录路径,正确的方法是:A.Path.cwd()B.Path.home()C.Path(__file__).parentD.Path(‘../‘)以下哪种异常通常在尝试除以零时发生?A.ValueErrorB.TypeErrorC.ZeroDivisionErrorD.ArithmeticError在SQLite中,用于更新表中已有记录的命令是:A.ALTERB.UPDATEC.MODIFYD.CHANGE在Pandas中,用于删除DataFrame中所有包含缺失值(NaN)的行的函数是:A.df.dropna()B.df.fillna()C.df.isnull()D.df.notnull()Matplotlib中,用于创建图形和子图的核心函数通常是:A.plt.figure()和plt.subplot()B.plt.create()和plt.axes()C.plt.plot()和plt.show()D.plt.draw()和plt.pause()生成器函数与普通函数的区别在于它使用什么关键字产生值?A.returnB.yieldC.generateD.next关于正则表达式r‘^\d{3}-\d{8}$‘,以下描述正确的是:A.匹配以3个数字开头,后跟8个数字的字符串B.匹配3个数字、一个短横线、8个数字的字符串C.匹配任意11位数字D.匹配任意包含短横线的数字串二、判断题(共15题,每题1分,共15分)type(1/2)
的结果是
int。()‘hello‘.find(‘l‘)
和
‘hello‘.index(‘l‘)
的返回值相同,但找不到子串时的行为不同。()列表的
reverse()
方法会返回一个新的反转后的列表。()元组
(1)
和整数
1
是等价的。()在函数内部修改可变类型(如列表)的实参,会影响函数外部的原始数据。()使用
frommoduleimport*
会导入模块中的所有内容,包括以下划线开头的变量。()Python支持多继承,即一个类可以继承自多个父类。()实例方法可以通过类名直接调用(例如
ClassName.method(obj))。()使用
with
语句操作文件,即使发生异常,文件也会被正确关闭。()try
语句可以没有
except
子句,但必须有
finally
子句。()使用
cursor.executemany()
可以一次性插入多条记录,比循环调用
cursor.execute()
更高效。()Pandas的
Series
对象是一个一维的、带标签的数组。()plt.savefig(‘plot.png‘)
可以将当前图形保存为图片文件。()装饰器(Decorator)本质上是一个返回函数的函数。()在Python中,if__name__==‘__main__‘:
下的代码只有在直接运行该脚本时才会执行。()三、填空题(共15空,每空1分,共15分)在Python交互式环境中,使用
______()
函数可以查看一个对象的帮助信息。表达式
2**3**2
的运算结果是
______。(提示:幂运算从右向左)字符串
s=‘Python‘,执行
s[1:4]
得到的结果是
______。将列表
[3,1,4,1,5,9]
进行降序排序(原地修改)的语句是
______。定义函数时,在参数前使用两个星号
**kwargs,表示接收任意数量的
______
参数。使用
______
函数可以将字符串形式的Python表达式求值并执行。在类中,______
方法用于定义对象被
print()
时的输出内容。使用
os
模块中的
______
函数可以列出指定目录下的所有文件和子目录名。pathlib.Path(‘data.txt‘).______
属性可以获取文件
data.txt
的名称(含后缀)。在异常处理中,______
子句在没有发生异常时执行。SQL语句
SELECTCOUNT(*)FROMorders
用于统计
orders
表中的
______。在Pandas中,df[‘column‘].______()
可以计算某列的平均值。使用
plt.______(‘MyChart‘)
可以设置图表的标题。在正则表达式中,______
表示匹配一个非数字字符。上下文管理器的进入和退出操作分别由
______
和
______
方法定义。四、程序填空题(共2段程序,10个空,每空1分,共10分)1.用户反馈数据分析(5空)#模拟用户反馈列表,每个元素是(用户ID,评分(1-5),评论)feedbacks=[(101,5,‘产品很棒!‘),(102,3,‘物流有点慢‘),(103,5,‘’),(101,4,‘会再次购买‘),(104,2,‘质量一般‘),]#任务1:统计每个用户的平均评分user_scores={}foruid,score,commentinfeedbacks:#如果用户ID已存在,则将评分追加到列表中;否则创建新列表user_scores.______(1)______(uid,[]).append(score)#使用setdefault方法#计算平均分user_avg={}foruid,scoresinuser_scores.items():user_avg[uid]=______(2)______/len(scores)#使用sum函数计算总分print(‘用户平均评分:‘,user_avg)#任务2:筛选出有文字评论且评分>=4的反馈good_feedbacks=[(uid,s,c)for(uid,s,c)infeedbacksif______(3)______]#条件:评分>=4且评论非空print(‘优质反馈:‘,good_feedbacks)#任务3:找出所有出现过的评分值集合all_scores_set=______(4)______#使用集合推导式从feedbacks中提取评分print(‘所有评分值:‘,all_scores_set)#任务4:将优质反馈写入文件withopen(‘good_feedback.txt‘,‘w‘,encoding=‘utf-8‘)asf:foruid,score,commentingood_feedbacks:f.write(f‘用户{uid}:{score}分-{comment}______(5)______‘)#写入一行并换行2.数据分析与可视化(5空)importpandasaspdimportmatplotlib.pyplotasplt#假设有一个关于文创产品销售的数据文件‘sales.csv‘#数据格式:Date,Product,Category,Revenuetry:df=pd.______(6)______(‘sales.csv‘)#读取CSV文件print(‘数据预览:‘)print(df.head())#按产品类别统计总收入revenue_by_category=df.groupby(‘______(7)______‘)[‘Revenue‘].______(8)______()#按‘Category‘分组并求和print(‘\n按类别总收入:‘)print(revenue_by_category)#绘制柱状图plt.figure(figsize=(10,6))______(9)______(revenue_by_category.index,revenue_by_category.values)#绘制柱状图plt.title(‘文创产品各类别总收入‘)plt.xlabel(‘产品类别‘)plt.ylabel(‘总收入(元)‘)plt.xticks(rotation=45)plt.tight_layout()#保存图表plt.______(10)______(‘category_revenue.png‘,dpi=300)#保存为图片print(‘图表已保存为category_revenue.png‘)#plt.show()#如需显示可取消注释exceptFileNotFoundError:print(‘错误:未找到sales.csv文件。‘)exceptExceptionase:print(f‘数据处理过程中发生错误:{e}‘)五、编程题(共2题,每题10分,共20分)1.面向对象设计:订单管理系统(10分)背景:为“文创宝盒”设计一个简化的订单系统。任务:设计
OrderItem
类,属性包括:product_id(商品ID)、product_name(商品名)、unit_price(单价)、quantity(购买数量)。设计
Order
类,属性包括:order_id(订单号,字符串)、order_date(下单日期,字符串即可)、customer_name(客户名)和一个
OrderItem
对象的列表
items。为
Order
类实现以下方法:add_item(item):向订单中添加一个
OrderItem。calculate_total():计算并返回该订单的总金额(所有商品单价*
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 护理文书的审核要点
- 护理服务的社区实践
- 6.3 丰收了(课件)(共17张)2025-2026学年度北师大版数学三年级上册
- 护理课件曲线图:患者住院时间与康复进展
- 家用电热水器维修工岗前师带徒考核试卷含答案
- 穿经工诚信评优考核试卷含答案
- 2026年新科教版高中高一地理下册第三单元农业区位选择卷含答案
- 2026年新科教版高中高二物理下册第一单元交变电流有效值计算卷含答案
- 信息通信业务员操作知识评优考核试卷含答案
- 井下采煤工测试验证水平考核试卷含答案
- 2026长江财产保险股份有限公司武汉分公司综合部(副)经理招聘1人笔试备考题库及答案解析
- 2026年4月自考10993工程数学(线性代数、概率论与数理统计)试题
- GB/Z 177.2-2026人工智能终端智能化分级第2部分:总体要求
- 八年级下学期期中家长会课件
- 2026广东中山市路桥建设有限公司招聘员工8名笔试历年参考题库附带答案详解
- 村干部办公室工作制度
- 北师大版(新教材)小学三年级数学下册第四单元《讲故事》课件
- 2026年交管12123驾驶证学法减分试题(含参考答案)
- 2026年部编版二年级道德与法治下册全册教案(含教学计划)
- 银川市、石嘴山市、吴忠市三市2026年高三年级学科教学质量检测 历史+答案
- 广西壮族自治区2024广西水利电力职业技术学院招聘教职人员控制数第一批次工作人员23人笔试历年参考题库典型考点附带答案详解
评论
0/150
提交评论