Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- op_order = ['+', '-', '/', '*']
- def evaluate(s):
- for op in op_order:
- t = s.rsplit(op, 1)
- if len(t) == 2:
- return ops[op](t[0], t[1])
- return int(s)
- def divide(l, r):
- return evaluate(l) / evaluate(r)
- def multiply(l, r):
- return evaluate(l) * evaluate(r)
- def add(l, r):
- return evaluate(l) + evaluate(r)
- def subtract(l, r):
- return evaluate(l) - evaluate(r)
- ops = {
- '+': add,
- '-': subtract,
- '/': divide,
- '*': multiply,
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement