我在这里使用Python。我搜索了
return 1
和return 0
的区别,它说0表示True,1表示False。 0 表示函数运行成功,1 表示有错误或有问题。所以它不应该改变输出,它只是结束循环并指定 True 或 False 的一种方法。
当我运行此代码时:
def factorial(num):
if num != 0:
return num * factorial(num - 1)
else:
return 1
print(factorial(10))
它输出答案,阶乘。在本例中,它是 3628800
但是如果我运行相同的代码但将
return 1
更改为 return 0
,它会输出 0
这是为什么?
答案与 1 和 0 的布尔值无关。当 num=0 时,您的递归函数有一个停止条件。因此,如果从最内层递归返回 0,调用者将返回 num * 0,即 0。 这将一直传播到顶部,因此您的函数将返回 0。另一方面,如果到达结束条件时返回 1,该函数将按照您的预期计算阶乘。