質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

Q&A

解決済

1回答

1369閲覧

pythonのRPN記法についてです

clamch12

総合スコア6

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

0グッド

0クリップ

投稿2020/02/02 09:51

pythonでRPN記法をつかった電卓をつくっていました
1回目の値は正常に処理されるのですが2回目からエラーが出ますどのように書き直せばいいですか

python

1import operatorOPERATOR = {'+' : operator.add, '-':operator.sub, '*':operator.mul,'/':operator.truediv} 2 3siki=[] 4st=[] 5 6 7 8def rpn(): 9 10for i in siki: 11if i.isdigit():#数字ならスタック 12st.insert(0, i) 13else: 14ans=OPERATOR[i](float(st.pop(1)), float(st.pop(0))) 15 16return ans 17 18 19if __name__ == '__main__': 20siki = input().split() 21print(rpn())

イメージ説明

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

画面から推測すると、1回目の入力の後に結果が表示されてプログラムは終了しています。
その次の行に>>>が表示されていますが、これはPythonインタプリタのプロンプトです。
もう一度プログラムを実行するには.pyの編集画面のメニューからRunなりを実行してください。

投稿2020/02/02 10:02

can110

総合スコア38341

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

clamch12

2020/02/02 10:08

回答ありがとうございます。 プログラムをいちいちRunなどを押さずに繰り返して計算する方法はないでしょうか?
can110

2020/02/02 10:11

処理全体をwhile True:で囲うなどすればよいです。
clamch12

2020/02/02 10:33

動くようになりました、ありがとうございました!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問