Python递归
def sum(n):if n > 0:
return n + sum(n-1)
new_sum = sum(10)
print(new_sum)
、
各位大佬,为什么这样会报错,而
def sum(n):
if n > 0:
return n + sum(n-1)
else:
return 0
new_sum = sum(10)
print(new_sum)
这样就不会 因为n <= 0的时候没有return 0 它就会return None yuxijian2020 发表于 2021-1-29 11:15
因为n
明白了,感谢感谢 补充楼上说的,sum(n-1)
递归到 n - 1 < -1,即 n < 0 的时候,函数返回的是 None,而 None 与 整型相加是不行的,所以报错 °蓝鲤歌蓝 发表于 2021-1-29 11:18
补充楼上说的,
递归到 n - 1 < -1,即 n < 0 的时候,函数返回的是 None,而 None 与 整型相加是不行的 ...
明白了,感谢感谢 学习了。 建议以后改成问题帖
页:
[1]