0
我要检查多少钱快的工作,我抛出异常来结束递归,而不是返回代码Python的调用引发异常,而不是在递归函数返回
我与返回的代码看起来是这样的:
def factorial(self, n):
if n==0:
return 1
else:
return n* self.factorial(n-1)
现在我带升代码:
def factorial2(self, n):
if n==0:
raise Exc(1)
else:
return n* self.factorial2(n-1)
我不知道,如果它看起来应该这样的,我应该怎么做才能我已经试过像某事的值 这
try:
print factorial2(n)
except Exc:
1
但它不起作用。我甚至不知道我是否接近良好的解决方案。
任何人都可以帮助我,给我一些提示吗?
所有呼叫都将最终提高此异常,抛出异常不是一个好主意。 – thefourtheye
为什么不能@第四只眼睛? –
我想多数民众赞成她正在测量......两者之间的性能差异......(它只是退出递归的另一种方式......)他们之间的速度差异可能会相当小 –