实验设备信息包括:设备编号,设备种类,设备名称,设备价格,设备购入日期,是否报废,报废日期。功能是能够与完成对设备的录入和修改、对设备进行分类统计、设备的破损和遗损处理、设备查询。
import datetime class Equipment: def __init__(self, equipment_id, equipment_type, equipment_name, price, purchase_date): self.equipment_id = equipment_id self.equipment_type = equipment_type self.equipment_name = equipment_name self.price = price self.purchase_date = purchase_date self.is_discarded = False self.discarded_date = None def discard(self): self.is_discarded = True self.discarded_date = datetime.datetime.now() class EquipmentManagementSystem: def __init__(self): self.equipment_list = [] def add_equipment(self, equipment): self.equipment_list.append(equipment) def update_equipment(self, equipment_id, new_equipment): for i in range(len(self.equipment_list)): if self.equipment_list[i].equipment_id == equipment_id: self.equipment_list[i] = new_equipment break def classify_equipment(self): equipment_types = set() for equipment in self.equipment_list: equipment_types.add(equipment.equipment_type) return equipment_types def process_damage_loss(self, equipment_id): for equipment in self.equipment_list: if equipment.equipment_id == equipment_id: equipment.discard() break def search_equipment(self, equipment_id): for equipment in self.equipment_list: if equipment.equipment_id == equipment_id: return equipment return None # 示例用法 if __name__ == '__main__': system = EquipmentManagementSystem() while True: print("\n********** 实验设备管理系统 **********") print("1. 添加设备") print("2. 更新设备信息") print("3. 设备分类统计") print("4. 处理破损和遗损设备") print("5. 查询设备") print("0. 退出系统") choice = input("\n请输入您的选择:") if choice == "1": equipment_id = input("设备编号:") equipment_type = input("设备种类:") equipment_name = input("设备名称:") price = float(input("设备价格:")) purchase_date = input("设备购入日期(格式:YYYY-MM-DD):") purchase_date = datetime.datetime.strptime(purchase_date, "%Y-%m-%d").date() equipment = Equipment(equipment_id, equipment_type, equipment_name, price, purchase_date) system.add_equipment(equipment) print("设备添加成功!") elif choice == "2": equipment_id = input("请输入要更新的设备编号:") new_equipment_id = input("新的设备编号:") new_equipment_type = input("新的设备种类:") new_equipment_name = input("新的设备名称:") new_price = float(input("新的设备价格:")) new_purchase_date = input("新的设备购入日期(格式:YYYY-MM-DD):") new_purchase_date = datetime.datetime.strptime(new_purchase_date, "%Y-%m-%d").date() new_equipment = Equipment(new_equipment_id, new_equipment_type, new_equipment_name, new_price, new_purchase_date) system.update_equipment(equipment_id, new_equipment) print("设备信息更新成功!") elif choice == "3": equipment_types = system.classify_equipment() print("\n设备分类统计:") for equipment_type in equipment_types: print(equipment_type) elif choice == "4": equipment_id = input("请输入要处理的破损或遗损设备编号:") system.process_damage_loss(equipment_id) print("设备处理成功!") elif choice == "5": equipment_id = input("请输入要查询的设备编号:") equipment = system.search_equipment(equipment_id) if equipment: print("\n设备信息:") print("设备编号:", equipment.equipment_id) print("设备种类:", equipment.equipment_type) print("设备名称:", equipment.equipment_name) print("设备价格:", equipment.price) print("设备购入日期:", equipment.purchase_date) if equipment.is_discarded: print("设备状态:已报废") print("报废日期:", equipment.discarded_date) else: print("设备状态:正常使用") else: print("设备不存在!") elif choice == "0": print("感谢使用实验设备管理系统,再见!") break else: print("无效的选择,请重新输入!")
运行结果如下