本文主要是介绍Python 汉诺塔递归原理,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
# -*- coding: utf-8 -*-
# 递归的重点在于放弃,放弃理解和跟踪递归全程的企图,只理解递归两层之间的交接,以及递归的终结条件
def move(n, start, mid, end): # n:盘子,start起始区,mid中转区,end终点区if n == 1:print('move', start, '-->', end)else:move(n-1, start, end, mid) # 把除了最大的盘子之外的盘子借助end,从start移到midmove(1, start, mid, end) # 将最大的盘子从start移到endmove(n-1, mid, start, end) # 将除了最大的盘子之外的盘子借助start,从mid移到endmove(3, 'A', 'B', 'C')
这篇关于Python 汉诺塔递归原理的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!