User Tools

Site Tools


burim:python:python-labs:loesung_blatt10_aufgabe1_fifo_klasse.py
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()
burim/python/python-labs/loesung_blatt10_aufgabe1_fifo_klasse.py.txt · Last modified: 2019/01/21 20:55 by 127.0.0.1

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki