gpt4 book ai didi

python - 使用递归时函数不返回

转载 作者:太空宇宙 更新时间:2023-11-04 00:12:19 25 4
gpt4 key购买 nike

我确信我犯了一个简单的错误,但在我的函数中,当输入不是 1 或 0 时,它希望返回用户给定输入的阶乘,它实际上只返回 none。我打印出它在辅助函数中所做的事情,看起来它获得了正确的结果但是当我如下运行它时它没有返回。请让我知道我在做什么明显的疏忽。谢谢。

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))

最佳答案

else 分支中,您正在调用 recurseFactorial,但您没有返回它的结果。由于该分支没有 return 语句,因此它默认返回 None

你想要这个:

def recurseFactorial(num, mySum):
if num==0 or num==1:
return mySum
else:
return recurseFactorial(num-1,mySum=mySum*num)

关于python - 使用递归时函数不返回,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52107308/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com