python中的这个函数是打印' l 2'但是返回0.我错过了什么?

时间:2015-09-01 14:32:24

标签: python function python-2.7 return return-value

我正在调用此函数,它返回0.但是打印给出2.我使用的是python2.7。这是代码:

def last_yearcount(d,m,y):
    if d>=13:
        count = 0
        for j in range(1, m+1):
            count = count + int(friday(weekday(13,j,y)) or 0)
        print 'l', count
        return count            
    else:
        last_yearcount(14,m-1,y)

2 个答案:

答案 0 :(得分:1)

if-else的递归分支不会返回任何值。试试这个:

else:
    return last_yearcount(14,m-1,y)

答案 1 :(得分:0)

试试这个:

return last_yearcount(14,m-1,y)

代替:

last_yearcount(14,m-1,y)