【问题标题】:How to return a flag from recursion in python [duplicate]如何从python中的递归返回标志[重复]
【发布时间】:2023-04-02 07:52:01
【问题描述】:

如果我满足代码中的 if 条件,我想将标志返回为 TRUE,但我无法做到。

class createnode:

    def __init__(self,data):
        self.data = data
        self.left = None
        self.right = None

    def traverse(self, root,flag,sum,prev=0):
        if root:
            if root.data + prev==sum:
                print("pairs are",root.data,prev)
                flag=True
                return flag
            self.traverse(root.left,flag,sum,prev=root.data)
            self.traverse(root.right,flag,sum,prev=root.data)
        else:
            return


root = createnode(8)
root.left=createnode(4)
root.right = createnode(10)
root.left.left=createnode(2)
root.left.right=createnode(6)
root.right.left = createnode(9)
root.right.right = createnode(12)
flag=root.traverse(root,flag=False,sum=19)
print(flag)

输出:
是的

但我的输出是 None。有人可以帮我吗?

【问题讨论】:

  • 您有一个不返回任何内容的 return 语句 - 即 None

标签:
python
recursion