汉诺塔--》(递归函数)

def hano(n,a,b,c):#n表示盘子数量,a表示a盘子,b表示b盘子,c表示c盘子
    if n==1:
        print(a,'-->',c)
        return None
        
    if n==2:
        print(a,'-->',b)
        print(a,'-->',c)
        print(b,'-->',c)
        return None
    #n最终都是转化为==1或==2
    hano(n-1,a,c,b)#将a塔上的n-1个盘子借助c塔,放到b塔上去
    print(a,'-->',c)
    hano(n-1,b,a,c)#将b塔上的n-1个盘子借助a塔,放到c塔上去
    
a='A'
b='B'
c='C'
n=4
hano(n,a,b,c)

 

posted @ 2018-12-06 21:10  jjkice  阅读(689)  评论(0编辑  收藏  举报