zoukankan      html  css  js  c++  java
  • day15 Python函数递归,轻易不要用递归,容易搞出来内存溢出

    古之欲明明德于天下者,先治其国;欲治其国者,先齐其家;欲齐其家者,先修其身;欲修其身者,先正其心;欲正其心者,先诚其意;欲诚其意者,先致其知,致知在格物。物格而后知至,知至而后意诚,意诚而后心正,心正而后身修,身修而后家齐,家齐而后国治,国治而后天下平。

    在函数内部,可以调用其他函数。如果在调用一个函数的过程中直接或间接调用自身本身

     递归一定要有个明确的结束条件

    #_*_coding:utf-8_*_
    __author__ = 'Linhaifeng'
    import time
    
    person_list=['alex','wupeiqi','yuanhao','linhaifeng']
    def ask_way(person_list):
        print('-'*60)
        if len(person_list) == 0:
            return '没人知道'
        person=person_list.pop(0)
        if person == 'linhaifeng':
            return '%s说:我知道,老男孩就在沙河汇德商厦,下地铁就是' %person
        print('hi 美男[%s],敢问路在何方' %person)
        print('%s回答道:我不知道,但念你慧眼识猪,你等着,我帮你问问%s...' %(person,person_list))
        time.sleep(3)
        res=ask_way(person_list)    #递归调用自己
        # print('%s问的结果是: %res' %(person,res))
        return res
    
    res=ask_way(person_list)
    
    print(res)
    
    结果:
    hi 美男[alex],敢问路在何方
    alex回答道:我不知道,但念你慧眼识猪,你等着,我帮你问问['wupeiqi', 'yuanhao', 'linhaifeng']...
    ------------------------------------------------------------
    hi 美男[wupeiqi],敢问路在何方
    wupeiqi回答道:我不知道,但念你慧眼识猪,你等着,我帮你问问['yuanhao', 'linhaifeng']...
    ------------------------------------------------------------
    hi 美男[yuanhao],敢问路在何方
    yuanhao回答道:我不知道,但念你慧眼识猪,你等着,我帮你问问['linhaifeng']...
    ------------------------------------------------------------
    linhaifeng说:我知道,老男孩就在沙河汇德商厦,下地铁就是
    # def calc(n):
    #     print(n)
    #     if int(n / 2) == 0:
    #         return n
    #     res=calc(int(n / 2))
    #     return res
    #
    #
    # res=calc(10)
    # print(res)
    
    
    结果:
    10
    5
    2
    1
    1
    
  • 相关阅读:
    (十六)字段表集合
    (十五)类索引
    (十四)访问标志 Access_flags
    (一)单例模式
    (二十三)IDEA 构建一个springboot工程,以及可能遇到的问题
    (十三)class文件结构:常量池(转)
    Hive优化
    标签整理
    一些学习资料
    jstree树形菜单
  • 原文地址:https://www.cnblogs.com/charon2/p/10373655.html
Copyright © 2011-2022 走看看