我正在创建一个递归函数,它基本上不使用'//'运算符来操作floor division。我已经找到了这个函数,但只有当输入n为正时,我才在努力弄清楚如何在n< d。非常感谢任何帮助,谢谢!
我目前的代码:
def quotient( n , d ):
if (n >= d):
return quotient(n - d, d) + 1
else:
return n
答案 0 :(得分:3)
你可以这样做:
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<=n<d
商为0,则这是第一个if
。如果n
是否定的,我们会以与正面情况类似的方式处理它,只需切换标志。