summaryrefslogtreecommitdiff
path: root/comp/work/54/rpn.py
diff options
context:
space:
mode:
Diffstat (limited to 'comp/work/54/rpn.py')
-rw-r--r--comp/work/54/rpn.py21
1 files changed, 21 insertions, 0 deletions
diff --git a/comp/work/54/rpn.py b/comp/work/54/rpn.py
new file mode 100644
index 0000000..053a256
--- /dev/null
+++ b/comp/work/54/rpn.py
@@ -0,0 +1,21 @@
+def eval(expr):
+ s = []
+ for i in expr.split():
+ if i.isdigit():
+ s.push(int(i))
+ else:
+ a = s.pop()
+ b = s.pop()
+ match i:
+ case '+':
+ s.push(b + a)
+ case '-':
+ s.push(b - a)
+ case '*':
+ s.push(b * a)
+ case '/':
+ s.push(b / a)
+
+ print(s.pop())
+
+eval("1 2 +")