# Exercice 5

class File :
    def __init__(self) :
        self.contenu = []

    def enfile(self, e):
        self.contenu.append(e)

    def file_vide(self):
        return self.contenu == [] # ou len(self.contenu) == 0

    def defile(self):
        return self.contenu.pop(0)

    def getTete(self):
        if self.pile_vide() :
            return None
        return self.contenu[0]

    def __repr__(self):
        s = ''
        for i in range(len(self.contenu)-1, -1, -1):
            s += str(self.contenu[i])
            if i != 0 :
                s += '->'
        return s

# tests
# Code 2 : file avec POO

f = File()
f.enfile(1)
f.enfile(2)
f.enfile(3)
print(f)    # 3->2->1
a = f.defile()
print(f)    # 3->2
f.enfile(4)
f.enfile(a)
print(f)    # 1->4->3->2
