shuwei81 2022-10-18 20:21 采纳率: 50%
浏览 169
已结题

python递归函数中通过for循环构建树 for循环运作逻辑

最近工作忙到死 以前也一知半解的 现在彻底想不起来了 脊椎也痛,索性就直接问吧
是这样子的 有哪位可以给我讲述一下通过递归构建树的时候内部for循环的运作逻辑 为啥图1的for循环长这个样子 for循环这些数字代表啥意思 图1成功构建了一个树

img

大家可以看我之前打赏记录 我得到满意答案会给钱的放心

img

def recDCCC(weightlist,maxweight,num,lk,value,llp):
    if num==4:
        return llp ##递归结束条件 并开始新的一轮递归
    if maxweight>20:
        return llp
    ###op.append([val for val in ok if val not in weightlist])##将OK表中不属于valuelist的元素,重复元素剔除出来,除非重复是8,发生重复,立即结束
    else:
        for i in range(len(weightlist)): 
                    print(i)
                    p=weightlist[i][0]
                    l=weightlist[i][1]
                    c=list(set(weightlist)-set([weightlist[i]]))## 被抽出的因子,剩余的进去迭代,剩余的部分便是C
                    llp.append(c)
                    numcoins=recDCCC(c,maxweight+p,num+1,lk+l,value,llp)
    return llp


recDCCC([(2,3),(3,4),(4,8),(5,8),(9,10)],0,0,0,0,[])
  • 写回答

3条回答 默认 最新

  • 这次真没糖 2022-10-18 21:16
    关注

    重新更新回答,简单的说说前面的执行步骤,其实一步一步按照程序执行流程演算下去就行了。文字实在难以解释,可以+V私聊说明

    img

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(2条)

报告相同问题?

问题事件

  • 系统已结题 10月26日
  • 已采纳回答 10月18日
  • 请采纳用户回复 10月18日
  • 修改了问题 10月18日
  • 展开全部

悬赏问题

  • ¥15 这个电路是如何实现路灯控制器的,原理是什么,怎么求解灯亮起后熄灭的时间如图?
  • ¥15 matlab数字图像处理频率域滤波
  • ¥15 在abaqus做了二维正交切削模型,给刀具添加了超声振动条件后输出切削力为什么比普通切削增大这么多
  • ¥15 ELGamal和paillier计算效率谁快?
  • ¥15 file converter 转换格式失败 报错 Error marking filters as finished,如何解决?
  • ¥15 ubuntu系统下挂载磁盘上执行./提示权限不够
  • ¥15 Arcgis相交分析无法绘制一个或多个图形
  • ¥15 关于#r语言#的问题:差异分析前数据准备,报错Error in data[, sampleName1] : subscript out of bounds请问怎么解决呀以下是全部代码:
  • ¥15 seatunnel-web使用SQL组件时候后台报错,无法找到表格
  • ¥15 fpga自动售货机数码管(相关搜索:数字时钟)