SPOJ の問題を解決しているときに、プログラマーが優先順位を使用せずに式を評価する必要があるという問題に遭遇しました。つまり、次のことを意味します。
2 + 3 * 6=30 and not 20
これを行う方法はありますか?
このためのライブラリまたは組み込み関数はありますか?
SPOJ の問題を解決しているときに、プログラマーが優先順位を使用せずに式を評価する必要があるという問題に遭遇しました。つまり、次のことを意味します。
2 + 3 * 6=30 and not 20
これを行う方法はありますか?
このためのライブラリまたは組み込み関数はありますか?
(2+3)*6 のようなことができると思いますが、それは醜いです。その根本的な解決策はないと思います。場合を除き... 独自の関数を作成する場合。次のようにする必要があります。
def functionname(strng):
strng = strng.split()[::-1]
startval = strng.pop()
while len(strng):
op = strng.pop()
val = strng.pop()
startval = str(eval(startval + op + val)
return startval
これも理想的ではありませんが、何もないよりはましだと思います。