1. 程式人生 > >7-內置數據結構

7-內置數據結構

turn 目標 漢諾塔 中間 第一個 數據 odin 開始 結構

漢諾塔問題

# -*- coding: UTF-8 -*-
def hano(n,a,b,c):
    ‘‘‘
    漢諾塔的遞歸實現
    n:代表幾個盤子
    a:代表第一個塔,開始的塔
    b:代表第二個塔,中間過渡的塔
    c:代表第三個塔,目標塔
    ‘‘‘
    if n==1:
        print(a,‘-->‘,c)
        print(‘1‘)
        return None
    ‘‘‘
    if n==2:
        print(a,‘--‘,b)
        print(a,‘--‘,c)
        print(b,‘--‘,c)
        print(‘2‘)
        return None
    ‘‘‘
    # 把n-1個盤子,從a塔借助於c塔,挪到b塔上去
    hano(n-1,a,c,b)
    print(a,‘-->‘,c)
    print(‘*‘ * 20)
    #把n-1個盤子,從b塔,借助於a塔,挪到c塔上去
    hano(n-1,b,a,c)
    print(‘#‘ * 20)
a=‘A‘
b=‘B‘
c=‘C‘
n=3
hano(n,a,b,c)

7-內置數據結構