class MyFifo(): def __init__(self, content=[]): if isinstance(content, (tuple, list, str)): self.content = [i for i in content] else: self.content = [] def __repr__(self): return str(self.content) def __add__(self, fifo): # return MyFifo(self.content[:] + fifo.content[:]) return MyFifo(self.content + fifo.content) def put_in(self, item): self.content.append(item) def take_out(self): if len(self.content) > 0: return self.content.pop(0) def interactive(self): while True: k = input("> ") if k == "": break if k != "?": self.put_in(k) print(self.__repr__()) else: out = self.take_out() if out: print(out) else: print('The Queue is empty.') # def main(): print('Selftest for Class MyFifo:') f0 = MyFifo(1) print(f0) # f1 = MyFifo((1, 2, 3)) # f1 = MyFifo('123') f1 = MyFifo([1, 2, 3]) f2 = MyFifo((3, 4, 5)) print(f1, f2) f3 = f1 + f2 print(f3) print(f3.take_out()) print(f1, f2, f3) f3.interactive() # if __name__ == '__main__': # main()