Advertisement
Guest User

Untitled

a guest
Jul 27th, 2017
86
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. op_order = ['+', '-', '/', '*']
  2.  
  3.  
  4. def evaluate(s):
  5.     for op in op_order:
  6.         t = s.rsplit(op, 1)
  7.         if len(t) == 2:
  8.             return ops[op](t[0], t[1])
  9.     return int(s)
  10.  
  11.  
  12. def divide(l, r):
  13.     return evaluate(l) / evaluate(r)
  14.  
  15.  
  16. def multiply(l, r):
  17.     return evaluate(l) * evaluate(r)
  18.  
  19.  
  20. def add(l, r):
  21.     return evaluate(l) + evaluate(r)
  22.  
  23.  
  24. def subtract(l, r):
  25.     return evaluate(l) - evaluate(r)
  26.  
  27.  
  28. ops = {
  29.     '+': add,
  30.     '-': subtract,
  31.     '/': divide,
  32.     '*': multiply,
  33. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement