# -*- coding: utf-8 -*-
"""
Created on Wed Apr 12 09:21:14 2017

@author: adomps
"""

# J'ai donné aux fonctions les mêmes noms que
# dans la version à taille bornée.
# Ainsi, on pourra utiliser indifférement les
# unes ou les autres dans les applications, selon
# le fichier dont les fonctions auront été mémorisées.
#
# On met à profit les méthodes pop et append de Python qui
# s'appliquent à des listes et correspondent à  dépiler et empiler.
# Les fonctions depile et empile fonctionnent par effet de bord.

def cree_pile(N=1000) : # Ici N ne sert à rien, mais on l'a mis pour que la 
    return []     # fonction soit identique à son homologue pour les piles bornées
    
def est_vide(P) :
    return len(P) == 0

def depile(P) :
    if est_vide(P) :
        print('Vous dépilez une pile vide.')
    else :
        return P.pop()
        
def empile(x, P) :
    P.append(x)
    
def sommet(P) :
    if not est_vide(P) :
        return P[-1]
        
def taille(P) :
    return len(P)        