问答详情
源自:7-5 Python之递归函数

能详细解释下吗?

头晕啊!!! 每次只能移动一个  为什么下面会有移动n-1个 def move(n, a, b, c):    if n ==1:        print a,"-->",c    else:        move(n-1,a,c,b)        print a,"-->",c        move(n-1,b,a,c) move(4, 'a', 'b', 'c')

提问者:grinsky 2015-12-28 17:59

个回答

  • jeyy
    2015-12-28 18:21:14
    已采纳

    假设2个大小盘,最上面的小的先转移到b,然后下面一个转移到c,然后小的从b转移到c,这是一个流程。a>b;a>c;b>c.写一个流程 剩下的都一样,一开始a是起点,c是终点。【想象成a>c】。第一步是move(?,a>c>b)表示a转移到b,然后打印1,2元素。然后转移move(?,b>a>c)表示从b到c。第一步流程写完。函数也写完了