python大作业:写一个实验设备管理系统设计

 

实验设备信息包括:设备编号,设备种类,设备名称,设备价格,设备购入日期,是否报废,报废日期。功能是能够与完成对设备的录入和修改、对设备进行分类统计、设备的破损和遗损处理、设备查询。

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("无效的选择,请重新输入!")

 运行结果如下

 

 

 

 

 

 

  • 11
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 12
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 12
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值