1: class Pila : # implem. con listas de Python
2: def __init__(self) :
3: self.elementos = []
4: def push(self, elemento) :
5: self.elementos.append(elemento)
6: def pop(self) :
7: return self.elementos.pop()
8: def isEmpty(self) :
9: return (self.elementos == [])
10: def evalPostfijo(expr):
11: import re
12: listaTokens = re.split("([^0-9])", expr)
13: pila = Pila()
14: for token in listaTokens:
15: if token == '' or token == ' ':
16: continue
17: if token == '+':
18: suma = pila.pop() + pila.pop()
19: pila.push(suma)
20: elif token == '*':
21: producto = pila.pop() * pila.pop()
22: pila.push(producto)
23: else:
24: pila.push(int(token))
25: return pila.pop()
Gracias! Gracias! Gracias! Gracias! Gracias! Gracias! Gracias! Gracias! Gracias!
ResponderEliminar