擅长:python、mysql、java
<p>您将什么传递给方法<code>parse(...)</code>作为<strong>第二个</strong>参数?如果它是一个列表,则不应该。您可能需要更改传递给<code>parse</code>的值。在</p>
<p>您可能还需要在另一个<code>ifs</code>之前检查<code>tokens</code>是否为空列表,否则将导致另一个错误。在</p>
<pre><code>if tokens == []:
raise TypeError("Error: Empty List.")
elif tokens[int(i)] == '*':
tokens.remove(int(i))
return mkMultiplyNode(parse(tokens), parse(tokens))
return mkSubtractNode(parse(tokens), parse(tokens))
elif tokens[int(i)].isdigit():
return mkLiteralNode(tokens.remove(int(i)))
elif not tokens[int(i)].isdigit():
return mkVariableNode(tokens.remove(int(i)))
else:
raise TypeError("Error: Invalid Input")
</code></pre>