最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 科技 - 知识百科 - 正文

Python全栈之路系列之递归

来源:懂视网 责编:小采 时间:2020-11-27 14:26:50
文档

Python全栈之路系列之递归

Python全栈之路系列之递归:所谓递归其实就是函数本身调用函数,直到满足指定条件之后一层层退出函数, 例如从前有座山,山里有座庙,庙里有个老和尚,正在给小和尚讲故事呢!故事是什么呢?从前有座山,山里有座庙,庙里有个老和尚,正在给小和尚讲故事呢!故事是什么呢?从前有座
推荐度:
导读Python全栈之路系列之递归:所谓递归其实就是函数本身调用函数,直到满足指定条件之后一层层退出函数, 例如从前有座山,山里有座庙,庙里有个老和尚,正在给小和尚讲故事呢!故事是什么呢?从前有座山,山里有座庙,庙里有个老和尚,正在给小和尚讲故事呢!故事是什么呢?从前有座

代码如下

#!/usr/bin/env python
# _*_ coding: utf-8 _*_

def Counter(n1, n2):
 if n1 > 10000: # 当要计算的值大于10000就退出
 return
 print("Counter:", n1) # 
输出当前计算到那个值了 n3 = n1 + n2 # 第一个值加上第一个值等于第三个值 Counter(n2, n3) # 调用计数器函数,此时第一个值是调用函数传过来的最后一个值,而第二个值是计算出来的第三个值 Counter(0, 1) # 调用计数器函数

输出结果

/usr/bin/python3.5 /home/ansheng/Documents/PycharmProjects/blogcodes/斐波那契.py
Counter: 0
Counter: 1
Counter: 1
Counter: 2
Counter: 3
Counter: 5
Counter: 8
Counter: 13
Counter: 21
Counter: 34
Counter: 55
Counter: 89
Counter: 144
Counter: 233
Counter: 377
Counter: 610
Counter: 987
Counter: 1597
Counter: 2584
Counter: 4181
Counter: 6765

Process finished with exit code 0
  • 利用递归获取斐波那契数列中的第10个数,并将该值返回给调用者

  • 代码:

    #!/usr/bin/env python
    # _*_ coding: utf-8 _*_
    
    def Counter(Index, Start, End):
     print("第%d次计算,第一个数字是%d,第二个数字是%d" % (Index, Start, End))
     if Index == 10: # 如果要计算的值是10就退出
     return Start
     N = Start + End # N等于第一个数加上第二个数
     Number = Counter(Index + 1, End, N) # 继续调用计数器函数,End相当与传给函数的第一个数,N是传给函数的第二个数
     return Number
    
    
    result = Counter(1, 0, 1)
    print("得出的数字是:", result)

    输出结果

    /usr/bin/python3.5 /home/ansheng/Documents/PycharmProjects/blogcodes/递归.py
    第1次计算,第一个数字是0,第二个数字是1
    第2次计算,第一个数字是1,第二个数字是1
    第3次计算,第一个数字是1,第二个数字是2
    第4次计算,第一个数字是2,第二个数字是3
    第5次计算,第一个数字是3,第二个数字是5
    第6次计算,第一个数字是5,第二个数字是8
    第7次计算,第一个数字是8,第二个数字是13
    第8次计算,第一个数字是13,第二个数字是21
    第9次计算,第一个数字是21,第二个数字是34
    第10次计算,第一个数字是34,第二个数字是55
    得出的数字是: 34
    
    Process finished with exit code 0

    原文链接

    所谓递归其实就是函数本身调用函数,直到满足指定条件之后一层层退出函数, 例如

    从前有座山,山里有座庙,庙里有个老和尚,正在给小和尚讲故事呢!故事是什么呢?“从前有座山,山里有座庙,庙里有个老和尚,正在给小和尚讲故事呢!故事是什么呢?‘从前有座山,山里有座庙,庙里有个老和尚,正在给小和尚讲故事呢!故事是什么呢?……’”

  • 利用函数编写一个斐波那契数列

  • 0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233,377,610,987,1597,2584,4181,6765,10946,17711,28657,46368

    斐波那契数列就是前面给两个数相加得到后面一个数,依次往后

    代码如下

    #!/usr/bin/env python
    # _*_ coding: utf-8 _*_
    
    def Counter(n1, n2):
     if n1 > 10000: # 当要计算的值大于10000就退出
     return
     print("Counter:", n1) # 
    输出当前计算到那个值了 n3 = n1 + n2 # 第一个值加上第一个值等于第三个值 Counter(n2, n3) # 调用计数器函数,此时第一个值是调用函数传过来的最后一个值,而第二个值是计算出来的第三个值 Counter(0, 1) # 调用计数器函数

    输出结果

    /usr/bin/python3.5 /home/ansheng/Documents/PycharmProjects/blogcodes/斐波那契.py
    Counter: 0
    Counter: 1
    Counter: 1
    Counter: 2
    Counter: 3
    Counter: 5
    Counter: 8
    Counter: 13
    Counter: 21
    Counter: 34
    Counter: 55
    Counter: 89
    Counter: 144
    Counter: 233
    Counter: 377
    Counter: 610
    Counter: 987
    Counter: 1597
    Counter: 2584
    Counter: 4181
    Counter: 6765
    
    Process finished with exit code 0
  • 利用递归获取斐波那契数列中的第10个数,并将该值返回给调用者

  • 代码:

    #!/usr/bin/env python
    # _*_ coding: utf-8 _*_
    
    def Counter(Index, Start, End):
     print("第%d次计算,第一个数字是%d,第二个数字是%d" % (Index, Start, End))
     if Index == 10: # 如果要计算的值是10就退出
     return Start
     N = Start + End # N等于第一个数加上第二个数
     Number = Counter(Index + 1, End, N) # 继续调用计数器函数,End相当与传给函数的第一个数,N是传给函数的第二个数
     return Number
    
    
    result = Counter(1, 0, 1)
    print("得出的数字是:", result)

    输出结果

    /usr/bin/python3.5 /home/ansheng/Documents/PycharmProjects/blogcodes/递归.py
    第1次计算,第一个数字是0,第二个数字是1
    第2次计算,第一个数字是1,第二个数字是1
    第3次计算,第一个数字是1,第二个数字是2
    第4次计算,第一个数字是2,第二个数字是3
    第5次计算,第一个数字是3,第二个数字是5
    第6次计算,第一个数字是5,第二个数字是8
    第7次计算,第一个数字是8,第二个数字是13
    第8次计算,第一个数字是13,第二个数字是21
    第9次计算,第一个数字是21,第二个数字是34
    第10次计算,第一个数字是34,第二个数字是55
    得出的数字是: 34
    
    Process finished with exit code 0

    更多Python全栈之路系列之递归 相关文章请关注PHP中文网!

    文档

    Python全栈之路系列之递归

    Python全栈之路系列之递归:所谓递归其实就是函数本身调用函数,直到满足指定条件之后一层层退出函数, 例如从前有座山,山里有座庙,庙里有个老和尚,正在给小和尚讲故事呢!故事是什么呢?从前有座山,山里有座庙,庙里有个老和尚,正在给小和尚讲故事呢!故事是什么呢?从前有座
    推荐度:
    标签: 之路 python 递归
    • 热门焦点

    最新推荐

    猜你喜欢

    热门推荐

    专题
    Top