Python 递归函数

原创 2016年06月02日 10:28:48

汉诺塔移动

<code class="hljs" python="">def hanoi(n,x,y,z):
    if n==1:
        print(x,'-->',z)
    else:
        hanoi(n-1,x,z,y)#将前n-1个盘子从x移动到y上
        hanoi(1,x,y,z)#将最底下的最后一个盘子从x移动到z上
        hanoi(n-1,y,x,z)#将y上的n-1个盘子移动到z上
n=int(input('请输入汉诺塔的层数:'))
hanoi(n,'x','y','z')
</code>

 count = 1
 2 
 3  def test(num, src, dst, rest):
 4         global count
 5 
 6         if num < 1:
 7                 print False
 8         elif num == 1:
 9                 print "%d:\t%s -> %s" % (count, src, dst)
10                 count += 1
11         elif num > 1:
12                 test(num - 1, src, rest, dst)
13                 test(1, src, dst, rest)
14                 test(num - 1, rest, dst, src)
15 
16 
17 test(3, 'A', 'C', 'B')
复制代码

版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

python递归函数的优化

尽管递归可以通过循环来实现,但是往往递归代码更加简洁,逻辑更加清晰,先来看一段python递归代码: 该递归调用的过程如下:       计算机在调用函数时会使用堆栈,每调用一个函数会增加一层栈...

python学习~递归函数

递归函数即自己调用自己的函数。一定要注意防止无限递归,所以就有了递归触底条件。 所以递归函数基本上分两部分:1.触底条件部分 2.递归功能部分。 本文采用递归方法进行分形图形的绘制,为了清晰递归过...

Python笔记-递归函数、汉诺塔

递归函数、汉诺塔

python 递归函数

python里面也可以使用递归函数,所谓递归函数就是利用函数本身调用自身,然后一直不停地调用自身,达到合适的条件,然后返回计算后的值。 例如:#计算5的以内的加法           def ad...

【Python学习笔记】递归函数

【根据廖雪峰python教程整理】 一、递归函数 在函数内部,可以调用其他函数。如果一个函数在内部调用自身本身,这个函数就是递归函数。   举个例子,我们来计算阶乘n! = 1 x 2 x 3 ...

python-递归函数.汉诺塔.

声明: 我写此文的目的是帮助和我一样在廖雪峰老师官网上学习Python3的同学更好的理解和学习Python的知识,所以本博文及后续文章会跟着我的学习进度来走,主要内容是廖雪峰老师官网Python资料...
  • zmy_3
  • zmy_3
  • 2016-04-16 08:47
  • 773

Python实现递归函数:汉诺塔

def move(a,b,c,n): if n==1: print a,'->',c else: move(a,c,b,n-1) pri...

Python 递归函数

从前有座山,山里有座庙,庙里有个老和尚,正在给小和尚讲故事!故事是什么呢?『从前有座山,山里有座庙,庙里有个老和尚,正在给小和尚讲故事!故事是什么呢?』…… 这也许是最经典(口耳相传)的童谣了,充分展...

python3 中双递归函数的调用过程详解与print()函数在程序调试过程中的作用

所有函数都可以被其他函数调用,当然也可以被自己调用,这种调用方式叫做递归。递归是简化代码的一种有效手段,也是体现代码美感的重要方式。一般的书籍或教程讲到递归的时候都会以阶乘距离,这种案例只涉及到调用自...

Python入门(四)——函数概述,参数,可变参数,关键字参数,组合参数,递归函数

Python入门(四)——函数概述,参数,可变参数,关键字参数,组合参数,递归函数Hello,各位,我们继续来学习python一.函数概述函数,就是方法嘛,其实在我们之前就已经接触过了,看一下代码#求...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)