[問題] 為什麼Function return一個class變成None已刪文

看板Python作者 (darrenleeleelee)時間3年前 (2021/01/08 20:39), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串1/1
我寫了一個class和Function,想要回傳一個class。 class TreeNode: def __init__(self, data=0): self.data = data self.left = None self.right = None def create(self, sequence, index): if index >= len(sequence) or sequence[index] == None: return None else: tempNode = TreeNode(sequence[index]) tempNode.left = self.create(sequence, 2*index+1) tempNode.right = self.create(sequence, 2*index+2) return tempNode def lowest_common_ancester(treenode, sp, ep): if sp > ep: sp, ep = ep, sp print(f"data: {treenode.data}, sp: {sp}, ep:{ep}") if(sp <= treenode.data and treenode.data <= ep): print(treenode) return treenode elif(ep <= treenode.data): if(treenode.left != None): lowest_common_ancester(treenode.left, sp, ep) elif(treenode.data <= sp): if(treenode.right != None): lowest_common_ancester(treenode.right, sp, ep) print(lowest_common_ancester(TreeNode(None).create([3,1,6,None,None,4,7],0), 4, 7)) 但不知道為什麼目前print出來長這樣 data: 3, sp: 4, ep:7 data: 6, sp: 4, ep:7 <__main__.TreeNode object at 0x000001655FE54D60> None return回來再print出來就變成None了 我該如何解決? -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 111.250.80.154 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/Python/M.1610109576.A.BBE.html
文章代碼(AID): #1V-5A8k- (Python)