Python:为a * b编写函数mult(a,b),只有add / sub / neg,测试的递归错误(-a,b)

时间:2016-09-11 22:04:01

标签: python function python-3.x recursion multiplication

到目前为止我有这个 - 但如果我用(-a,b)测试,python会给我一个递归错误。请帮忙,不知道为什么这不起作用。所有其他测试都在这里工作。

def mult(a, b):
""" mult returns the product of two inputs
    inputs: n and m are integers
    output: result of multiplying n and m
""" 
    if b < 0:
       return -mult(a,-b)
    elif b == 0:
       return 0
    elif b == 1:
       return a
    else:
       return a + mult(a,b-1)

谢天谢地。

1 个答案:

答案 0 :(得分:1)

Python对递归的数量有限制。你可能只是碰到它。请参阅以下答案:

What is the maximum recursion depth in Python, and how to increase it?