我正在创建一个递归函数,它基本上不使用‘//’运算符就可以操作floor除法。我已经计算出了函数,但是只有当输入n为正时,我才在努力计算出当n我的当前代码:

def quotient( n , d ):

    if (n >= d):
        return quotient(n - d, d) + 1

    else:
        return n

最佳答案

你可以这样做:

def quotient( n , d ):

    if (0<=n<d):
        return 0
    if (n >= d):
        return quotient(n - d, d) + 1
    if n<0:
        return quotient(n + d, d) - 1

如果商是0,这是第一个。如果0<=n<d是阴性的,我们用与阳性相似的方式处理,只需切换符号。

关于python - 楼层划分的递归函数,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/42869523/

10-11 04:31