如何全面理解和实现递归阶乘函数?

问题描述 投票:0回答:1

最近我发现我无法得到我想要的东西,比如得到阶乘的负整数

def rec_fac(n):
   if n == 1:
       return n
   else:
       return n*rec_fac(n-1)

如果您需要使用此代码添加一些内容..发表评论 =)

提前致谢!

python python-3.x python-2.7 recursion spyder
1个回答
0
投票

不确定问题是什么,但阶乘是为自然数定义的。

因此,要处理负数,请执行以下操作:

def rec_fac(n):
   if n < 1:
       raise NotImplementedError('no definition for rec_fact(x) for x < 1')
   if n == 1:
       return n
   else:
       return n*rec_fac(n-1)
© www.soinside.com 2019 - 2024. All rights reserved.