class CatDogQueue(object): def __init__(self): self.dogqueue = ArrayQueue() self.catqueue = ArrayQueue() self.count = 0 def add(self,pet): if pet.get_pettype() == "dog": self.count += 1 petcount = PetCount(pet, self.count) self.dogqueue.push(petcount) elif pet.get_pettype() == "cat": self.count += 1 petcount = PetCount(pet,self.count) self.catqueue.push(petcount) else: raise RuntimeError("no pet type") def pollall(self): if not self.isCatEmpty() and not self.isDogEmpty(): if (self.dogqueue.peek().getCount()) < (self.catqueue.peek().getCount()): return self.dogqueue.poll() else: return self.catqueue.poll() elif self.isDogEmpty(): return self.catqueue.poll() elif self.isCatEmpty(): return self.dogqueue.poll() else: raise RuntimeError("err, queue is empty") def pollDog(self): if not self.isDogEmpty(): # print(type(self.dogqueue.poll())) return self.dogqueue.poll() else: raise RuntimeError("Dog queue is empty") def pollCat(self): if not self.isCatEmpty(): return self.catqueue.poll() else: raise RuntimeError("Cat queue is empty") def isCatEmpty(self): return self.catqueue.isEmpyt() def isDogEmpty(self): return self.dogqueue.isEmpyt()