我是 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)
Run Code Online (Sandbox Code Playgroud)
和输出:
Recursion Example Results
1
3
6
10
15
21
Run Code Online (Sandbox Code Playgroud)