python阶乘
想问一下python中怎么实现阶乘,用下面的代码老是给我报错def factorial(n):
if n<0:
return 'wuxiao'
if n == 1 or n == 0:
return 1
return n*factorial(n-1)
print(factorial(5))
print(factorial(5)) def factorial(n):
if n < 0:
return 'wuxiao'
if n == 1 or n == 0:
return 1
return n * factorial(n - 1)
print(factorial(5))
本帖最后由 昨非 于 2021-2-16 17:17 编辑
问题出在注释的第七行:
函数通过递归实现阶乘,函数内部不能有调用部分啊,肯定是第八行第七行重复了
不然的话,不就是层层套娃嘛{:10_245:}
def factorial(n):
if n<0:
return 'wuxiao'
if n == 1 or n == 0:
return 1
return n*factorial(n-1)
# print(factorial(5))#注释掉这一行就好了,这是调用部分不能写到函数内,这不骑驴找驴吗
print(factorial(5))
结果:
120
页:
[1]