• 递归


    递归

    结束函数用return

    递归特性:必须要有个明确的结束条件

     

    例如:

    def cal(n):
    print(n)
    if int(n/2) == 0:
    return n
    return cal(int(n/2))

    s = cal(10)========》运行cal(10) 结果是:10 5 2 1
    print(s)=====》返回值是最后一个即1
    所以结果是:

    10
    5
    2
    1

    import time========>引入time
    person_list = ["alisa", "tom", "may","tina"]

    def ask_way(person):
    print("-"*60)
    if len(person_list) == 0:
    return "根本无人知道路"
    person = person_list.pop(0)
    if person == "tina":
    return "%s说:我知道,A地铁口向右走就是。"%person
    print("hi,帅哥[%s],去望京怎么走"%person)
    print("%s说:我不知道,我帮你问问%s"%(person, person_list))
    time.sleep(3)
    return ask_way(person)

    s = ask_way(person_list)
    print(s)===================>输出最后的结果
    结果是:hi,帅哥[alisa],去望京怎么走

    alisa说:我不知道,我帮你问问['tom', 'may', 'tina']

    ------------------------------------------------------------

    hi,帅哥[tom],去望京怎么走

    tom说:我不知道,我帮你问问['may', 'tina']

    ------------------------------------------------------------

    hi,帅哥[may],去望京怎么走

    may说:我不知道,我帮你问问['tina']

    ------------------------------------------------------------

    tina说:我知道,A地铁口向右走就是。

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

  • 相关阅读:
    嵌入式Linux系统移植(二)——交叉编译工具集
    嵌入式linux系统移植(一)
    C语言常用关键语法精华总结
    ARM汇编常用指令
    嵌入式Linux系统移植——uboot常用命令
    VHDL的参数写在一个vhd文件里
    [PAT] 1077 Kuchiguse (20 分)Java
    [PAT] 1073 Scientific Notation (20 分)Java
    [PAT] 1069 The Black Hole of Numbers (20 分)Java
    [PAT] 1065 A+B and C (64bit) (20 分)Java
  • 原文地址:https://www.cnblogs.com/wode110/p/14459549.html
Copyright © 2020-2023  润新知