版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
《Python程序设计》期末考试试卷(三)答案课程名称:Python程序设计
适用专业:计算机相关专业
考试形式:闭卷笔试
考试时间:120分钟
总分:100分一、单项选择题C(array是NumPy库中的类型,不是Python基本数据类型)ABBC(元组不可变,可以作为字典的键)BA(add添加已存在元素无效,update合并集合并去重)B(函数可以返回多个值,实质是返回一个元组;没有return则返回None)ABBBD(‘x‘
是创建模式,文件存在则报错)C(Path(__file__)
获取当前脚本的Path对象)CBAABB(匹配以3个数字开头,后跟短横线,再跟8个数字结尾的字符串)二、判断题×(结果是
float)√(find返回-1,index抛出异常)×(reverse是原地反转,返回None)×((1,)才是元组,(1)是整数)√×(默认不会导入以单下划线开头的名称)√√(但通常不这样调用)√×(try必须配合至少一个
except
或
finally)√√√√√三、填空题help512
(相当于
2**(3**2),即
2**9)ythlist_name.sort(reverse=True)
(假设列表变量名为
list_name)关键字eval()
(注意安全风险)__str__os.listdir()nameelse总记录数
或
行数meantitle\D__enter__;
__exit__四、程序填空题1.用户反馈数据分析(1)setdefault(2)sum(scores)(3)s>=4andc.strip()!=‘’或s>=4andc(4){scorefor(_,score,_)infeedbacks}或set(scorefor(_,score,_)infeedbacks)(5)\n或‘\n‘2.数据分析与可视化(6)read_csv(7)Category(8)sum(9)plt.bar(10)savefig五、编程题参考答案1.面向对象设计:订单管理系统classOrderItem:def__init__(self,product_id,product_name,unit_price,quantity):duct_id=product_idduct_name=product_nameself.unit_price=unit_priceself.quantity=quantityclassOrder:def__init__(self,order_id,order_date,customer_name):self.order_id=order_idself.order_date=order_dateself.customer_name=customer_nameself.items=[]defadd_item(self,item):ifisinstance(item,OrderItem):self.items.append(item)else:raiseTypeError(“只能添加OrderItem对象”)defcalculate_total(self):total=0.0foriteminself.items:total+=item.unit_price*item.quantityreturntotaldefdisplay_order(self):print(f“订单号:{self.order_id}“)print(f“下单日期:{self.order_date}“)print(f“客户:{self.customer_name}“)print(“-”*30)foridx,iteminenumerate(self.items,1):subtotal=item.unit_price*item.quantityprint(f“{idx}.[{duct_id}]{duct_name}“)print(f“单价:{item.unit_price:.2f}x数量:{item.quantity}={subtotal:.2f}“)print(“-”*30)print(f“订单总计:{self.calculate_total():.2f}“)#测试代码if__name__==‘__main__‘:#创建商品项item1=OrderItem(“P1001”,“故宫文创书签”,15.0,2)item2=OrderItem(“P1002”,“敦煌丝巾”,299.0,1)#创建订单my_order=Order(“ORD2023001”,“2023-10-27”,“张三”)my_order.add_item(item1)my_order.add_item(item2)#显示订单my_order.display_order()评分要点:正确定义两个类及其属性。(3分)Order.add_item
方法实现正确。(2分)Order.calculate_total
方法逻辑正确。(2分)Order.display_order
方法输出格式清晰。(2分)测试代码能运行并展示结果。(1分)2.文件与异常处理综合应用importjsonimportshutildefvalidate_config(config_path):“”“验证配置文件”“”try:withopen(config_path,‘r‘,encoding=‘utf-8‘)asf:config=json.load(f)exceptFileNotFoundError:raiseFileNotFoundError(f“配置文件‘{config_path}‘不存在。”)exceptjson.JSONDecodeErrorase:raisejson.JSONDecodeError(f“配置文件‘{config_path}‘格式错误,不是有效的JSON。”,e.doc,e.pos)#检查必需键required_keys=[‘shop_name‘,‘version‘]missing_keys=[keyforkeyinrequired_keysifkeynotinconfig]ifmissing_keys:raiseValueError(f“配置文件中缺失必需的键:{missing_keys}“)returnTruedefmain():config_file=‘config.json‘backup_file=‘config_backup.json‘try:ifvalidate_config(config_file):#验证通过,进行备份shutil.copyfile(config_file,backup_file)print(f“配置文件验证成功,已备份为‘{backup_file}‘。“)exceptFileNotFoundErrorase:print(f“错误:{e}“)exceptjson.JSONDecodeErrorase:print(f“错误:{e}“)exceptValueErrorase:print(f“配置验证
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 6 一元一次不等式组说课稿2025学年初中数学北师大版2012八年级下册-北师大版2012
- 2026年春夏女装半裙白皮书
- 2026年宁夏机关党建知识测试题及答案
- 2026年广州奥校测试题及答案
- 2026年分享一些固生堂护士的招聘笔试题及答案
- 2026年IO智商测试题及答案
- 2026年心理梦工厂测试题及答案
- 科学午睡提升下午工作效率的最佳时长与姿势因人而异不将就不内耗的休息法
- 2026年幼儿运动护理测试题目及答案
- 2026年学生量子测试题及答案
- HDS-存储-AMS配置安装手册-V1.0
- 抖音小店出售协议书
- qdslrdashboard应用软件使用说明
- 中国传统故事英文哪吒闹海二篇
- 工厂质量激励实施方案
- YY/T 0128-2004医用诊断X射线辐射防护器具装置及用具
- YY 1413-2016离心式血液成分分离设备
- GB/T 41498-2022纤维增强塑料复合材料用剪切框测定面内剪切应力/剪切应变响应和剪切模量的试验方法
- GB/T 1732-1993漆膜耐冲击测定法
- 常见基坑支护形式解析讲义198
- 实验室岗位安全风险告知卡
评论
0/150
提交评论