-1

重複の可能性:
PEMDASソルバーを作成していますが、何を書くべきかわかりません

私はペムダスソルバープログラムを作成していますが、ユーザーがプログラムに書き込んだ方程式を解くことができないようです。私の現在のコードは次のとおりです。

def pemdas():
     print("type in your pemdas problem.")
     prob = int(input())
     solve(prob)
     print(str(prob))
     input()
pemdas()
4

1 に答える 1

5

これは実際にはあなたが思っているよりも難しい問題であり、現在の形でこの質問に答えるのはかなり難しい. そこで、おすすめの方法をいくつか紹介します。これらを調べて、そのうちの 1 つまたは複数を試してみてください。問題が発生した場合は、より具体的な質問に答えてください。

おそらく最良の選択肢は、 shunting-yard アルゴリズムを使用して式を後置に変換し、スタックを使用して式を評価することです。

別のオプションは、PyParsingを使用することです。PyParsing を使用すると、文字列の解析規則を指定し、関数を特定のトークンに割り当てることができます。これにより、解析段階で結果を計算できます。これは、より抽象的なアプローチになります。(また、例のページにこの種の良い例がいくつかあるかもしれません。よく見てください!)

于 2012-11-01T19:57:26.260 に答える