从另一个函数调用递归函数时,为什么行会重复?

时间:2018-11-11 15:13:52

标签: python recursion

请,有人可以向我解释一下,为什么第10行重复其recursive_function被调用的次数?

我去了Pycharm调试器,当recursive_function返回True或False时,调试器中突出显示的行跳到了第10行,并调用了recursive_function的调用次数。如果有人能解释为什么会发生,我将不胜感激。

def valid_parentheses(string):
    return recursive_function([x for x in string if x in "()"])


def recursive_function(parentheses):
    for y, x in enumerate(parentheses[1:]):
        if parentheses[y] == "(" and x == ")":
            del parentheses[y + 1]
            del parentheses[y]
            return recursive_function(parentheses)  # THIS LINE REPEATS ITSELF
    if len(parentheses) > 0:
        return False
    return True


print(valid_parentheses("()k(()()(k)()"))

0 个答案:

没有答案