Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- class RPN:
- operations = {'+': lambda x, y: x + y, '-': lambda x, y: x - y, '*': lambda x, y: x * y, '/': lambda x, y: x / y, '^': lambda x, y: x ** y}
- def calculate(self):
- stack = []
- for e in self._rpn:
- if type(e) is Decimal:
- stack.append(e)
- else:
- y = stack.pop()
- x = stack.pop()
- stack.append(RPN.operations[e](x, y))
- return stack[0]
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement