擅长:python、mysql、java
<p><code>print(tree.exists("visa"))</code>返回<code>None</code>,因为在<code>exists()</code>的最后一行中有没有任何值的<code>return</code>语句(默认为<code>None</code>)。</p>
<p>另外,不应该命名<code>printtree</code>参数<code>Treenode</code>,因为它是现有类的名称,可能会导致混淆。它应该看起来更像:</p>
<pre><code>def printtree(tree_node):
if tree_node.left is not None:
printtree(tree_node.left)
print(tree_node.item)
if tree_node.right is not None:
printtree(tree_node.right)</code></pre>
<p>另一件事是调用<code>printtree</code>-它是一个函数,而不是<code>Bintree</code>方法,所以我想您应该调用它<code>printtree(tree)</code>。</p>