我无法想出一种递归方法来解决完全带括号的方程......例如((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)