def separate_boxes(box_stack): #Remove pass and write your logic here new_queue = Queue(box_stack.get_max_size()) mod_stack = Stack(box_stack.get_max_size()) while (not (box_stack.is_empty())): data = box_stack.pop() if (data == "Red" or data == "Green" or data == "Blue"): mod_stack.push(data) else: new_queue.enqueue(data) while (not (mod_stack.is_empty())): a = mod_stack.pop() box_stack.push(a) return (new_queue)
class Game: def __init__(self, ball_stack): self.ball_container = ball_stack self.red_balls_container = Stack(4) self.green_balls_container = Stack(4) self.blue_balls_container = Stack(4) self.yellow_balls_container = Stack(4) def grouping_based_on_color(self): while (not (self.ball_container.is_empty())): a = self.ball_container.pop() if (a.get_color() == "Red"): self.red_balls_container.push(a) elif (a.get_color() == "Green"): self.green_balls_container.push(a) elif (a.get_color() == "Yellow"): self.yellow_balls_container.push(a) elif (a.get_color() == "Blue"): self.blue_balls_container.push(a) def rearrange_balls(self, color): if (color == "Red"): list1 = [] list2 = [] while (not (self.red_balls_container.is_empty())): a = self.red_balls_container.pop() if (a.get_name() == "B"): list1.append(a) else: list2.append(a) for i in list1: self.red_balls_container.push(i) for j in list2: self.red_balls_container.push(j) elif (color == "Green"): list1 = [] list2 = [] while (not (self.green_balls_container.is_empty())): a = self.green_balls_container.pop() if (a.get_name() == "B"): list1.append(a) else: list2.append(a) for i in list1: self.green_balls_container.push(i) for j in list2: self.green_balls_container.push(j) elif (color == "Blue"): list1 = [] list2 = [] while (not (self.blue_balls_container.is_empty())): a = self.blue_balls_container.pop() if (a.get_name() == "B"): list1.append(a) else: list2.append(a) for i in list1: self.blue_balls_container.push(i) for j in list2: self.blue_balls_container.push(j) elif (color == "Yellow"): list1 = [] list2 = [] while (not (self.yellow_balls_container.is_empty())): a = self.yellow_balls_container.pop() if (a.get_name() == "B"): list1.append(a) else: list2.append(a) for i in list1: self.yellow_balls_container.push(i) for j in list2: self.yellow_balls_container.push(j) def display_ball_details(self, color): pass