Discuss / Python / 结合上节函数默认参数的特性,还可一并打印出递归内部操作步数

结合上节函数默认参数的特性,还可一并打印出递归内部操作步数

Topic source

long8035

#1 Created at ... [Delete] [Delete and Lock User]

简单修改下

def Hano_mov(n,a,b,c,d=[0]):

    if n == 1:

        d[0] = d[0] + 1;

        print(d[0],':',a,'-->',c)

    else:

        Hano_mov(n-1,a,c,b)

        Hano_mov(1,a,b,c)

        Hano_mov(n-1,b,a,c)

    return

Hano_mov(3,'A','B','C')

1 : A --> C

2 : A --> B

3 : C --> B

4 : A --> C

5 : B --> A

6 : B --> C

7 : A --> C


  • 1

Reply