为了账号安全,请及时绑定邮箱和手机立即绑定

在eclipse中为什么执行出来全是A-->C???

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

    if n == 1:

        print('A-->C')

        return

    move(n-1,a,c,b)

    move(1, a, b, c)

    move(n-1, b, a, c)


move(4, 'A', 'B', 'C')     




正在回答

2 回答

调试一下,就知道了,

def move(n,a,b,c):
    if n == 1:
        print('A-->C')   # print a, "-->",c 这里的a与c需是变量

        return
    move(n-1,a,c,b)  
    move(1, a, b, c)
    move(n-1, b, a, c)
move(3, 'A', 'B', 'C')

1 回复 有任何疑惑可以回复我~

#-*- 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')


2 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
初识Python
  • 参与学习       758621    人
  • 解答问题       8667    个

学python入门视频教程,让你快速入门并能编写简单的Python程序

进入课程

在eclipse中为什么执行出来全是A-->C???

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信