擅长:python、mysql、java
<p>很抱歉给您带来不便,但我研究并找到了解决此问题的另一种方法:</p>
<pre><code>def parse(tokens):
tok = next(tokens)
if tok.isdigit():
return ('literal', tok)
elif tok == "+":
return ('add', parse(tokens), parse(tokens))
elif tok == '-':
return ('subtract', parse(tokens), parse(tokens))
elif tok == "*":
return ('multiply', parse(tokens), parse(tokens))
elif tok == "//":
return ('divide', parse(tokens), parse(tokens))
else:
return ('variable', tok)
</code></pre>