问答详情
源自:2-8 汉诺塔实现

对老师的解法加了些注释方便大家理解

def move(index, start, mid, end):

    # 设置递归出口,如果只有一层搬运完成后直接返回。

    if index == 1:

        print("{}-{}".format(start, end))

        return

    # 开始搬运。

    move(index - 1, start, end, mid)

    print("{}->{}".format(start, end))

    # 目标块搬运完成,恢复剩余块到初始位置形成新的搬运问题。

    move(index - 1, mid, start, end)

if __name__ == '__main__':

    move(3, "A", "B", "C")


提问者:逍遥哥哥 2020-05-03 12:54

个回答