zoukankan      html  css  js  c++  java
  • 递归

    递归

    结束函数用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地铁口向右走就是。

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

  • 相关阅读:
    java bigdecimal (java double也时会失真)
    图像二维频谱的理解
    设计模式:装饰器模式实现 固定类功能
    c# winform 技术提升
    c# 多态的美丽(虚方法、抽象、接口实现)
    5天玩转C#并行和多线程编程
    [C#防止反编译].NET 产品版权保护方案 (.NET源码加密保护)
    用Ngen指令加快C#程序的启动速度
    cmd 批处理制作
    c#程序打包、机器代码生成(Ngen.exe)
  • 原文地址:https://www.cnblogs.com/wode110/p/14459549.html
Copyright © 2011-2022 走看看