Discuss / Python / 有大佬知道如何实现计数吗?就是实现打印出盘子移动的步数:2^n-1(n为总的盘子数)

有大佬知道如何实现计数吗?就是实现打印出盘子移动的步数:2^n-1(n为总的盘子数)

Topic source

def move1(x1,x2):

    print(x1,'-->',x2)

    return

def hanoit(n,a,b,c):

    if not isinstance(n,int):

        raise TypeError(r'Bad Operand Type')

    elif n<=0:

        raise TypeError(r'"n" is not positive')

    elif n==1:

        move1(a,c)

    else:

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

        move1(a,c)

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

    return

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


  • 1

Reply