Skip to content

Instantly share code, notes, and snippets.

@SuborbitalPigeon
Last active August 29, 2015 14:08
Show Gist options
  • Save SuborbitalPigeon/17a1a20e750de043a11f to your computer and use it in GitHub Desktop.
Save SuborbitalPigeon/17a1a20e750de043a11f to your computer and use it in GitHub Desktop.
Stack calculator
stack = []
def get_numbers():
stack.pop()
b = int(stack.pop())
a = int(stack.pop())
return (a, b)
while True:
val = input()
stack.append(val)
if val == "+":
a, b = get_numbers()
ans = a+b
print(a, "+", b, "=", ans)
stack.append(ans)
elif val == "-":
a, b = get_numbers()
ans = a-b
print(a, "-", b, "=", ans)
stack.append(ans)
elif val == "*":
a, b = get_numbers()
ans = a*b
print(a, "*", b, "=", ans)
stack.append(ans)
elif val == "/":
a, b = get_numbers()
ans = a/b
print(a, "/", b, "=", ans)
stack.append(ans)
elif val == "^":
a, b = get_numbers()
ans = a**b
print(a, "^", b, "=", ans)
stack.append(ans)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment