Ben*_*oks 1 python recursion function multiplication negation
我需要编写函数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)
Run Code Online (Sandbox Code Playgroud)
有人可以帮助我,因为我无法理解!
你试图调用n(m+1)你的elif和else块,因为你说n是一个整数,这是问题,你应该调用mult()函数递归发送n和/ m+1或m-1作为参数.
另一个问题是你应该n - mult(n, m+1)在返回之前将结果转换为负数.
示例 -
...
return - (n - mult(n, m+1))
else:
return n + mult(n, m-1)
Run Code Online (Sandbox Code Playgroud)
示例更改演示 -
>>> mult(5,-3)
-15
>>> mult(-10,-3)
30
>>> mult(5,3)
15
Run Code Online (Sandbox Code Playgroud)