请,有人可以向我解释一下,为什么第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)()"))