36 lines
917 B
Python
36 lines
917 B
Python
class Pile:
|
||
"""Classe définissant une structure de pile."""
|
||
def __init__(self):
|
||
self.contenu = []
|
||
|
||
def est_vide(self):
|
||
"""Renvoie un booléen indiquant si la pile est vide."""
|
||
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. Produit une erreur sinon.
|
||
"""
|
||
assert not self.est_vide()
|
||
return self.contenu.pop()
|
||
|
||
def eval_expression(tab):
|
||
p = Pile()
|
||
for ... in tab:
|
||
if element != '+' ... element != '*':
|
||
p.empiler(...)
|
||
else:
|
||
if element == ...:
|
||
resultat = ... + ...
|
||
else:
|
||
resultat = ...
|
||
p.empiler(...)
|
||
return ...
|
||
|
||
|