前提・実現したいこと
ここに質問の内容を詳しく書いてください。
Pythonの質問です。
逆ポーランド記法で書かれた 2 1 + のような式の答えを表示させるようにしたい
①計算の際には,スタックから2つの数字(stack[0]とstack[1])を取り出し,計算を行う.
②計算が終了したら,スタックから使用済みの2つの数字を削除してから,①の答えをスタックに入れる.
③結果として,最後の答えはスタックの先頭にある
使っていいのはinput,print,while,if,len,str
な機能を実装中に以下のエラーメッセージが発生しました。正しく動かすにはどうしたら良いか教えてください。
発生している問題・エラーメッセージ
stack =shiki[n] + stack TypeError: can only concatenate str (not "list") to str
該当のソースコード
ソースコード shiki =input() stack =[] a=len(shiki) n=0 while n<=a: if shiki[n] == "+": register2 = int(stack[0]) register1 = int(stack[1]) kotae = register1 + register2 stack = stack[2:] stack = str(kotae) + stack else: stack = shiki[n] + stack kotae = stack[0] print(kotae)
試したこと
ここに問題に対して試したことを記載してください。
補足情報(FW/ツールのバージョンなど)
ここにより詳細な情報を記載してください。
回答2件
あなたの回答
tips
プレビュー