Discuss / Python / 汉诺塔python递归实现(还有疑问)

汉诺塔python递归实现(还有疑问)

Topic source
def move(n, a, b, c):

    if n == 1:
        print(a, '-->', c)

    else:
        move(n-1, a, c, b)  #将最底层以外的盘子,从a柱绕过c柱放到b柱上
        print(a, '-->', c)
        move(n-1, b, a, c)   #将最底层以外的盘子,从b柱上,绕过a柱放到c柱

- 这个视频虽然不是用python但把逻辑大概讲清楚了,推荐。

虽然逻辑大概清楚,但还是没搞懂这个函数究竟是在哪里递归循环,用纸写也找不到怎么就print了那么多结果……

真的是厉害

P.S.要怎么在终端里显示计算的过程和函数调用的情况?

视频看了,确实很厉害,函数内调用函数就是递归。

我觉得运行步骤没必要理解,理解函数运行每一步的意义就可以了。不然的话就不需要写函数了

就是因为运行步骤才不写不出来函数emmm


  • 1

Reply