def move(index, start, mid, end): # 注意终止条件 if index == 1: # 移动最上面一块 print('{}->{}'.format(start, end)) return # ???为啥要这个 else: move(index-1, start, end, mid) # 移动最下面一块 print('{}->{}'.format(start, end)) move(index-1, mid, start, end) if __name__ == '__main__': move(10, 'A', 'B', 'C')
这里return的目的是让函数返回不执行后续的逻辑,代码里面如果if和else后面都没有逻辑的话 可以不写。因为没有后续逻辑的代码可执行函数也会默认返回的