class Pile:
"""Classe définissant une structure de pile."""
def __init__(self):
self.contenu = []
def est_vide(self):
"""Renvoie le booléen True si la pile est vide, False sinon."""
return self.contenu == []
def empiler(self, v):
"""Place l'élément v au sommet de la pile"""
self.contenu.append(v)
def depiler(self):
"""
Retire et renvoie l’élément placé au sommet de la pile,
si la pile n’est pas vide.
"""
if not self.est_vide():
return self.contenu.pop()
def eval_expression(tab):
p = Pile()
for element in tab: #(1)
if element != '+' and element != '*': #(2)
p.empiler(element)
else:
if element == "+": #(3)
resultat = p.depiler() + p.depiler()
else:
resultat = p.depiler() * p.depiler()
p.empiler(resultat) #(4)
return resultat
Commentaires
{'Bob':102,'Alice':102}
.