我是python初学者,在这里我试图定义阶乘函数时陷入困境。问题是当我放置print而不是return时,该函数可以完美运行,但是不幸的是,我需要在另一个函数中使用阶乘函数,这意味着我确实需要return语句。无论如何!(http://postimg.org/image/bgctbpi31/)
#!/usr/bin/python
def fact(x):
x=int(input("enter a number : "))
result=1
if x<0:
print'it does not exist'
elif x==0:
return result
else:
for i in range (1,x+1):
result=result*i
return result
return result
fact(5)
足够简单的问题,我建议使用递归,因为它是递归问题:
def nfak(n):
if n < 0 :
raise ValueError('Input has to be positive')
elif n == 0:
return 1
else:
return n * nfak(n - 1)
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句