pythonでアルゴリズムとデータ構造を書く スタック

アルゴリズムとデータ構造のプログラムをPythonで書く

4.2スタック

逆ポーランド記法で与えられた数式の計算結果を出力

str_list = list(input().split())
stack = []

for s in str_list:
    if s == "+":
        a = stack.pop()
        b = stack.pop()
        stack.append(int(b)+int(a))
    elif s =="-":
        a = stack.pop()
        b = stack.pop()
        stack.append(int(b)-int(a))
    elif s =="*":
        a = stack.pop()
        b = stack.pop()
        stack.append(int(b)*int(a))
    else:
        stack.append(s)
print(stack)

Pushとpopは面倒なのでappendとpopを使用

最初に入力をリストにしてるけど、

そうしなくても入力から繰り返しにできそうだけど思いついたら追記しよう