我是 Python 的新手,我发现 下面的递归程序 很难理解。在调试程序时,我发现它通过递归并且每次递归时 k
的值会减少 1。在某个点上,k
变成了 -1,编译器就会转到 else
部分并返回 0。
最后,k
的值变成了 1,这是怎么发生的呢?
def tri_recursion(k):
if(k>0):
result = k+tri_recursion(k-1)
print(result)
else:
result = 0
return result
print("\n\nRecursion Example Results")
tri_recursion(6)
和输出:
Recursion Example Results
1
3
6
10
15
21