簡単なスタックマシン

というわけでスタックマシンを知ったので、四則演算のみであるが作ってみる。要は逆ポーランド記法の電卓であった。

下のコードは演算子に対してもEnterしなければならないところがダサい。

stack = []
while True:
    key_in = input()
    try:
        stack.append(eval(key_in))
        print(stack)
    except:
        last_ele = stack.pop()
        if key_in == "+": stack[-1] += last_ele
        if key_in == "-": stack[-1] -= last_ele
        if key_in == "*": stack[-1] *= last_ele
        if key_in == "/": stack[-1] /= last_ele
        print(stack)

youtu.be