school

thing1's amazing school repo
Log | Files | Refs | Submodules | README

rpn.py (463B)


      1 def eval(expr):
      2     s = []
      3     for i in expr.split():
      4         if i.isdigit():
      5             s.push(int(i))
      6         else:
      7             a = s.pop()
      8             b = s.pop()
      9             match i:
     10                 case '+':
     11                     s.push(b + a)
     12                 case '-':
     13                     s.push(b - a)
     14                 case '*':
     15                     s.push(b * a)
     16                 case '/':
     17                     s.push(b / a)
     18 
     19     print(s.pop())
     20 
     21 eval("1 2 +")