私はペムダスソルバープログラムを作成していますが、ユーザーがプログラムに書き込んだ方程式を解くことができないようです。私の現在のコードは次のとおりです。
def pemdas():
print("type in your pemdas problem.")
prob = int(input())
solve(prob)
print(str(prob))
input()
pemdas()
私はペムダスソルバープログラムを作成していますが、ユーザーがプログラムに書き込んだ方程式を解くことができないようです。私の現在のコードは次のとおりです。
def pemdas():
print("type in your pemdas problem.")
prob = int(input())
solve(prob)
print(str(prob))
input()
pemdas()
これは実際にはあなたが思っているよりも難しい問題であり、現在の形でこの質問に答えるのはかなり難しい. そこで、おすすめの方法をいくつか紹介します。これらを調べて、そのうちの 1 つまたは複数を試してみてください。問題が発生した場合は、より具体的な質問に答えてください。
おそらく最良の選択肢は、 shunting-yard アルゴリズムを使用して式を後置に変換し、スタックを使用して式を評価することです。
別のオプションは、PyParsingを使用することです。PyParsing を使用すると、文字列の解析規則を指定し、関数を特定のトークンに割り当てることができます。これにより、解析段階で結果を計算できます。これは、より抽象的なアプローチになります。(また、例のページにこの種の良い例がいくつかあるかもしれません。よく見てください!)