-1
所以(這是關於搜索方法),該方法是遞歸的,但是當我嘗試返回self.key和self.value時,函數返回一個NoneType,我該如何解決這個問題?Python Recusrive方法返回NoneType
(還有更多的類,但這是相關的部分,代碼的其他部分沒有任何影響的這一部分)
我見過,你必須返回整個方法(其它解決方案在我而言,這將是:返回搜索(自我,鍵)),但這些只是給我一個無限循環
class BinairySearchTree:
def __init__(self, key=None, value=None, lefttree=None, righttree=None):
self.key = key
self.value = value
self.lefttree = lefttree
self.righttree = righttree
def insert(self, key, value):
if self.key != None:
if key > self.key:
if self.righttree != None:
self.righttree.insert(key, value)
else:
self.righttree = BinaireZoekBoom(key, value)
elif key == self.key:
self.key = key
self.value = value
elif key < self.key:
if self.lefttree != None:
self.lefttree.insert(key, value)
else:
self.lefttree = BinaireZoekBoom(key, value)
elif self.key == None:
self.key = key
self.value = value
def search(self, key):
if key > self.key:
self.righttree.search(key)
elif key == self.key:
return self.key, self.value
elif key < self.key:
self.lefttree.search(key)
歡迎來到StackOverflow。請閱讀並遵守幫助文檔中的發佈準則。 [MCVE](http://stackoverflow.com/help/mcve)適用於此處。如果沒有缺少方法BinaireZoekBoom和一個簡單的測試用例,我們不能重現這一點。我看到各種非耐用的代碼,但我不打算通過桌面檢查來調試。 – Prune