# Exercice 2
# On considère que l'indice 0 de la liste est le fond de la pile

def cree_pile() :
    return []

def empile(p, e):
    p.append(e)

def pile_vide(p):
    return p == [] # ou len(p) == 0

def depile(p):
    return p.pop()

def getSommet(p):
    if pile_vide(p) :
        return None
    return p[-1] # dernère indice a -1. len(p)-1 fonctionne aussi. 
    
def somme_pile(p):
    s = 0
    while not pile_vide(p):
        s = s + depile(p)
    return s
    
# tests
p = cree_pile()
empile(p, 1)
empile(p, 2)
empile(p, 3)
print(p)    # [1, 2, 3]
a = depile(p)
print(p)    # [1, 2]
empile(p, 4)
empile(p, a)
print(p)    # [1, 2, 4, 3]
print(somme_pile(p))    # 10
