总是返回一个没有值的值

问题描述:

我试图制作这个二叉搜索树并且正在定义它的递归获取函数。但不管我做什么,它总是返回None。我只是一个新手... 因此,如果解决方案是有意义的或什么的......但请任何人都可以告诉我为什么它没有返回任何值...?总是返回一个没有值的值

def get(self,key): 
    if self.root: 
     res = self._get(key,self.root) 
     if res: 
      return res.payload 
     else: 
      return None 
    else: 
     return None 

def _get(self,key,currentnode): 
    if not currentnode: 
     return None 
    elif currentnode.key==key: 
     return currentnode 
    elif key<currentnode.key: 
     self._get(key,currentnode.leftchild) 
    else: 
     self._get(key,currentnode.rightchild) 

我使用的键为比较参数每个节点的字典...

的以下行:

elif key<currentnode.key: 
    self._get(key,currentnode.leftchild) 
else: 
    self._get(key,currentnode.rightchild) 

有:

elif key<currentnode.key: 
    return self._get(key,currentnode.leftchild) 
else: 
    return self._get(key,currentnode.rightchild) 
+0

所以答案有点太明显,就像一个魅力... thnku .. :) – 2014-09-02 04:47:20