Python递归函数不返回任何要执行的操作

2024-05-14 06:30:11 发布

您现在位置:Python中文网/ 问答频道 /正文

您好,我写了下面的代码,我希望函数返回8,但不知为什么这个函数根本不返回任何值,有没有办法修改这个函数,使它可以返回一些值?(请仍然使用递归函数)。如果您能告诉我为什么会出现这个问题,我们将不胜感激

谢谢

 def recursive(left):
    if left<=7:
        left+=1
        recursive(left)
                      
    else:
        return left

recursive(0)

Tags: 函数代码returnifdefleftelserecursive
3条回答

应该是

def recursive(left):
    if left<=7:
        left+=1
        return recursive(left)
                      
    else:
        return left

recursive(0)

调用函数时,应该使用return将结果返回给被调用的函数

def recursive(left):
    if left<=7:
        left+=1
        return recursive(left)
                      
    else:
        return left

函数在recursive(left)之后结束,因此它在那里有一个隐式的return None

相关问题 更多 >