zoukankan      html  css  js  c++  java
  • 递归的简单运用

    递归最核心的思想是:每一次递归,整体问题都要比原来减小,并且递归到一定层次时,要能直接给出结果!

    1.高斯求和问题,1+2+3+4+…+99+100,

    def sum_number(n):
        if n <= 0:
            return 0
        return n+sum_number(n-1)
    
    sum_number(100)

    2.评论楼的递归写法

    如果有这么一个树形结构的评论系统(博主的博客评论系统):
    
    1--直接对文章的评论
        1.1--对评论1的回复
            1.1.1--对评论1.1的回复
            1.1.2--对评论1.1的回复
            1.1.3--对评论1.1的回复
        1.2 --对评论1的回复
            1.2.1--对评论1.2的回复
        1.3 --对评论1的回复   
    2--直接对文章的评论
        2.1 --对评论2的回复
            2.1.1--对评论2.1的回复
        2.2 --对评论2的回复
    3--直接对文章的评论
    4--直接对文章的评论

    现在的要求是,将所有的评论,根据评论的关系,放入一个列表内,然后逐一打印出来

    lis = []
    all_top_comments = ["顶级评论1","顶级评论2","顶级评论3","....."]
    
    def get_comment(comments):
    
        for comment in comments:
            lis.append(comment)
            child_comments = comment.child() # 假设有一个child方法获取当前评论的所有子评论。
            if len(child_comments) > 0:  # 如果有子评论的话,就递归查找下去,否则回退
                get_comment(child_comments)
    
    get_comment(all_top_comments)
  • 相关阅读:
    第六周作业
    第四周作业(登录验证码)
    JSP第二次作业
    JSP第一次作业求1-100间的素数
    软件测试课堂作业
    安卓作业(购物商城)
    安卓作业
    Android 简易计算器
    jsp第七次作业
    JSP第六次作业
  • 原文地址:https://www.cnblogs.com/dingyutao/p/9489191.html
Copyright © 2011-2022 走看看