完全に括弧で囲まれた方程式を解くことができる再帰的な方法を考え出すのに苦労しています..など((3+2)/(1+4))
. 再帰を使用するような中置式を解決するための再帰的な解決策を思いつくことができましたが、少し行き詰まって+*+3421
いるようなものです。((3+2)/(1+4))
def evalPrefix(exp):
it = iter(exp)
return evalPrefixInner(it)
def evalPrefixInner(it):
item = it.next()
if isInt(item):
return int(item)
else:
operand1 = evalPrefixInner(it)
operand2 = evalPrefixInner(it)
return execute(item, operand1, operand2)