这个递归不写return语句不也一样吗
来源:5-1 递归函数
jjboy
2021-06-25 14:02:02
def test1(sum):
sum += 1
if sum != 5:
print(sum)
test1(sum)
else:
print('reached 5')
print(sum)
test1(0)
1回答
同学你好,在上面代码中,没有用到return方法,但是也基本符合递归函数自己调用自己的思想。
但是在实际中这样写法用处不大。因为递归的主要用途是在让函数自己调用自己,在上次函数运行的结果上进行计算(比如累加,需要在前面数字累加的基础上继续累加)。所以要以return 返回上次函数运行的结果并继续调用函数计算,可以灵活使用。ps:理论上,所有的递归函数都可以写成循环的方式,但循环的逻辑不如递归清晰。祝学习愉快!
例:
#计算0-4的和
def test1(sum):
sum += 1
if sum == 5:
return 0
return sum+test1(sum)
print(test1(0))
相似问题