2018.12.12——前向引用、递归

一、前向引用=风湿理论:定义一个函数相当于给一个变量赋值,且存放于内存之中,随时准备调用。

二、递归:

例子:

import time
person_list=['alex','wupeiqi','yuanhao','linhaifeng','zsc']
def ask_way(person_list):
    print('-'*60)
    if len(person_list)==0:
        return '根本没人知道'
        
    # if len(person_list)==0:
        # return '根本没人知道'  ————————这个相当于递归的第一个'出口'
    person=person_list.pop(0)
    
    if person=='linhaifeng':
        return '%s说:我知道,老男孩在沙河'%(person)
    # if person=='linhaifeng':
        # return '%s说:我知道,老男孩在沙河'%(person)    ————————这个相当于递归的第二个'出口'
    print('hi 美男[%s],敢问路在何方'%(person))
    print('%s回答道:我不知道,但念你慧眼识珠,你等着,我帮你问问%s'%(person,person_list))
    time.sleep(2)
    res=ask_way(person_list)
    return res
res=ask_way(person_list)
print(res) 

 

输出结果:

 三、简单的复习:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

例子:

ls=[]
def test(n):
    n=int(n/2)
    ls.append(n)
    if int(n/2)==1:
        return ls
    test(n)
    
print(test(5))

#输出结果:[2]

 

posted @ 2018-12-13 18:45  木菲杨  阅读(153)  评论(0编辑  收藏  举报