【发布时间】:2016-09-11 22:04:00
【问题描述】:
到目前为止,我有这个 - 但如果我使用 (-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)
谢谢。
【问题讨论】:
-
请显示错误的完整回溯。此外,您显示的代码的缩进是错误的,因此您应该会收到语法错误。最后,
b == 1的检查是无关的,不需要:b将在下一个递归步骤中变为零。 -
此代码在更正缩进后对我有用。请显示函数失败的值。
标签: python function python-3.x recursion multiplication