我需要编写函数 mult(n, m) 来输出两个整数 n 和 m 的乘积。我仅限于使用加法/减法/否定运算符以及递归。
这是我到目前为止所拥有的:
def mult( n, m ):
if m == 0:
return 0
elif m < 0:
return n - n(m+1)
else:
return n + n(m-1)
有人可以帮助我吗,因为我无法弄清楚!
原文由 Benjamin Brooks 发布,翻译遵循 CC BY-SA 4.0 许可协议
You are trying to call
n(m+1)
in yourelif
andelse
block, since you sayn
is an integer, this is the problem, you should be callingmult()
function recursively sendingn
andm+1
orm-1
as parameters.另一个问题是您应该在返回之前将
n - mult(n, m+1)
的结果转换为负数。例子 -
带有示例更改的演示 -