为什么没有返回值却给出null

时间:2019-06-01 17:11:05

标签: python-3.x python-2.7

为什么此函数的返回值没有给出 而是我认为它应该返回计数

def longestChain(num,count):
    if num==1:
        return count
    elif num%2==0:
        num = num/2
        count+=1
        longestChain(num,count)
    elif num%2==1:
        num =3*num+1
        count+=1
        longestChain(num,count)

print(longestChain(13,1))

输出-无

1 个答案:

答案 0 :(得分:3)

仅在情况num==1中返回一个值。在其他情况下,您正在进行递归调用,但是您忘了在那里返回一个值。