class Machine: def __init__(self): self.processing = -1 # 当前正在处理的工件索引 ,-1代表空闲 比如索引是12,调度顺序中12位置上的值比如是7,那就意味着第13个加工的工件是7号工件 self.left_time = 0 # 剩余加工时间 0时,表示该工件在该机器上的处理已完成。 def left_time(self): """获取当前剩余处理时间""" return self.left_time def process(self): """获取当前正在处理的工件索引""" return self.processing def next_time(self): """减少剩余处理时间(模拟时间流逝)""" if self.left_time > 0: self.left_time -= 1 def next_wp(self, time): """切换到下一个工件并设置处理时间""" self.processing += 1 self.left_time = time def reset(self): """重置机器状态""" self.processing = -1 self.left_time = 0