def repr_str(e): if isinstance(e, int): return str(e) if isinstance(e, str): return '"' + str(e) + '"' def creer_pile_vide(): return [] def est_pile_vide(pile): return pile == [] def empiler(pile,element): pile.append(element) def depiler(pile): return pile.pop() def affiche_pile(p): if len(p) == 0: print("Pile vide") return s = "" c = max([len(repr_str(i)) for i in p]) s += f"| {repr_str(p[-1]).center(c)} | -> sommet\n" for i in range(len(p)-2, -1, -1): s += f"| {repr_str(p[i]).center(c)} |\n" s += "-"* (c + 4) print(s) def creer_file_vide(): return [] def est_file_vide(file): return file == [] def enfiler(pile,element): pile.append(element) def defiler(pile): return pile.pop(0) def affiche_file(f): if len(f) == 0: print("File vide") return c = " ".join(repr_str(e) for e in reversed(f)) l = " "*len("enfilement -> ") + "-"*len(c) + " "*len(" -> défilement") c = "enfilement -> " + c + " -> défilement" print(f"{l}\n{c}\n{l}") def int2strbin(x, n): b = str(bin(x)[2:]) return '0'*(n - len(b)) + b