我确定我犯了一个简单的错误,但是在我的函数中,当输入不是1或0时,它想返回用户给定输入的阶乘,实际上它什么也不返回。我打印出它在helper函数中正在执行的操作,看起来它获得了正确的结果,但是当我按如下所示运行它时,它什么也没有返回。请让我知道我正在进行哪些明显的监督。谢谢。
def recurseFactorial(num, mySum):
if num==0 or num==1:
return mySum
else:
recurseFactorial(num-1,mySum=mySum*num)
while True:
myInput = input("Please enter the number: ")
print(recurseFactorial(int(myInput), 1))
答案 0 :(得分:3)
在else
分支中,您正在调用 recurseFactorial,但是您没有返回其结果。而且由于该分支没有return
语句,因此默认情况下它返回None
。
您想要这个:
def recurseFactorial(num, mySum):
if num==0 or num==1:
return mySum
else:
return recurseFactorial(num-1,mySum=mySum*num)