昨天看廖雪峰的Python教程,看到了递归函数,具体的递归函数看他讲的就可以,最好自己好好研究一下递归函数是干啥的,对于学习这一节有帮助,最后面有一个汉诺塔的练习题,汉诺塔简单来说就是三根柱子,A,B,C,A上面有N个盘子,比如拿三个举例子,有大中小三个盘子,然后把这三个盘子从A柱子上移动到C柱子上,在C柱子上的顺序也是大中小,这个就是简单的玩法介绍。
图一.jpg
然后思路是什么呢?整体思路就是把A柱子上的盘子分为两部分,最底下的一个盘子是一部分,剩下的盘子是一部分,那上面的例子来说就是,大号的盘子是一部分,中号和小号的是一部分,结合玩法,需要做什么呢?是不是先把中号和小号的盘子移动到B柱子上?然后在把大号盘子移动到C柱子上,最后一步就是把B柱子上的盘子全部放在C柱子上,就是整体思路
图二.png
自己可以尝试玩一下这个游戏,策略就是想办法先把A柱子上的n-1个盘子先移动到B柱子上,然后再把B柱子上的盘子想办法移动到C柱子上,总体思路就是这三步,接下来我们看代码吧: