Python程序设计-试卷三答案_第1页
Python程序设计-试卷三答案_第2页
Python程序设计-试卷三答案_第3页
Python程序设计-试卷三答案_第4页
Python程序设计-试卷三答案_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

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

文档简介

《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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论