递归的执行理解
def move(n, a, b, c): if n ==1: print a, '-->', c return move(n-1, a, c, b) print a, '-->', c//为什么这行能执行,不理解这递归的执行 move(n-1, b, a, c) move(4, 'A', 'B', 'C')
def move(n, a, b, c): if n ==1: print a, '-->', c return move(n-1, a, c, b) print a, '-->', c//为什么这行能执行,不理解这递归的执行 move(n-1, b, a, c) move(4, 'A', 'B', 'C')
2016-02-13
#-*- coding:utf-8 -*- # move(n, a, b, c)表示的是有n个盘子在a柱子上,将要移到b柱子上面去 def move(n, a, b, c): # 如果a柱子上面只有一个盘子,则直接移到c柱子上面去并输出路径,结束递归 if n == 1: print a, '-->', c return # 表示的是将n-1的盘子从a柱子上面移到b柱子上面去 move(n-1, a, c, b) # 输出最下面个盘子移从a移到c的路径 print a, '-->', c # 将b柱子上面的n-1个盘子移动到c柱子上面 move(n-1, b, a, c) move(4, 'A', 'B', 'C')
举报