始终返回none值

时间:2014-09-02 04:20:13

标签: python-2.7 return

我试图制作这个二叉搜索树,并定义了它的递归get函数。但无论我做什么,它总是返回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)

我在每个节点使用一个dict,键是比较参数......

1 个答案:

答案 0 :(得分:1)

替换以下行:

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)