You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

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(10)

序列生成方式

这段代码生成的是三角数序列,也就是连续自然数的累加和:第n个三角数等于1+2+...+n。你提到的1、3、6、10、15、21是前6项,完整调用tri_recursion(10)会输出到第10个三角数55。

具体计算逻辑

递归的执行逻辑是「先深入到终止条件,再回溯计算」:

  • 递归深入阶段:调用tri_recursion(10)时,因为10>0,会先调用tri_recursion(9);同理tri_recursion(9)调用tri_recursion(8),一直嵌套到tri_recursion(0)。
  • 终止触发:当k=0时,进入else分支,返回0,这是递归停止的边界。
  • 回溯计算阶段:
    • 回到tri_recursion(1):计算1 + 0 = 1,打印1,返回1。
    • 回到tri_recursion(2):计算2 + 1 = 3,打印3,返回3。
    • 回到tri_recursion(3):计算3 + 3 = 6,打印6,返回6。
    • 以此类推,每回溯一层,就把当前k值加上上一层返回的结果,得到当前的三角数并打印,直到回到tri_recursion(10),计算10 + 45 = 55,打印55后递归结束。

内容的提问来源于stack exchange,提问作者PRANAV

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.17 03:52:05