Python 以下递归函数代码的必需输出

Python 以下递归函数代码的必需输出,python,Python,我正在学习Python并完成了这个递归函数,我完成了程序,但无法计算输出 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) 输出 Recu

我正在学习Python并完成了这个递归函数,我完成了程序,但无法计算输出

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
有人能浏览一下这个程序并向我解释一下输出吗?

您称之为tri_recursion6 在第三行,在退出函数之前,使用tri_递归函数。 我把每一步都写在下面:

tri_recursion(6) = 6 + tri_recursion(5)                          // 21 is printed
                 = 6 + (5 + tri_recursion(4))                    // 15 is printed
                 = 6 + (5 + (4 + tri_recursion(3))               // 10 is printed
                 = 6 + (5 + (4 + (3 + tri_recursion(2)))         // 6 is printed
                 = 6 + (5 + (4 + (3 + (2 + tri_recursion(1))))   // 3 is printed
                 = 6 + (5 + (4 + (3 + (2 + (1 + tri_recursion(0)))))  // 1 is printed 

使用pycharm,您可以设置断点并在任何步骤中遍历程序检查值。现在似乎是学习如何使用调试器的好时机。这对未来也会很有帮助。