Python-无返回逻辑的递归函数

Python-无返回逻辑的递归函数,python,function,recursion,return,Python,Function,Recursion,Return,我很难理解为什么此函数不返回任何值: def rem(x, a): """ x: a non-negative integer argument a: a positive integer argument returns: integer, the remainder when x is divided by a. """ if x == a: return 0 elif x < a: return

我很难理解为什么此函数不返回任何值:

def rem(x, a):
    """
    x: a non-negative integer argument
    a: a positive integer argument

    returns: integer, the remainder when x is divided by a.
    """
    if x == a:
        return 0
    elif x < a:
        return x
    else:
        rem(x-a, a)

rem(7, 5)

我仍然不确定在第一场比赛中到底发生了什么。看起来有两个独立的函数调用,一个返回2,另一个没有。。。有什么帮助吗?

如果所有python函数不以
return
语句终止,它将返回
None
。在本例中,您成功地调用了递归,但在
else
部分中放弃了结果。在
if
-块之后,默认的
返回None
将被隐式执行。

不清楚这个
的意思是什么,看起来有两个独立的函数调用,一个返回2,另一个无。。。有什么帮助吗?
第一个函数根本不正确,最后一行必须有
return
return rem(x-a, a)