Skip to main content
 首页 » 编程设计

python之Python 中带递归的乘法函数

2025年05月04日16softidea

我需要编写函数 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) 

谁能帮帮我,因为我想不通!

请您参考如下方法:

你正试图在你的 elif 和 else block 中调用 n(m+1),因为你说 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) 

Demo with example changes -

>>> mult(5,-3) 
-15 
>>> mult(-10,-3) 
30 
>>> mult(5,3) 
15