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

参考代码中if n==1是否有误?

我的是这样的

def move(n, a, b, c):
    if n==0:
        return a+'-->'+c
    n=n-1
    move(n,a,c,b)
    print a+'-->'+c
    move(n,b,a,c)
   
move(4, 'A', 'B', 'C')


根据打印出的内容我一步步移动了汉诺盘,觉得n==0才是对的

求解我的代码和参考代码的不同

正在回答

3 回答

额,之前我仅仅对于你问的参考代码中是否有误作出回答,它是对的;

当然,你也是对的,因为你的代码中迭代的逻辑和它不一样,n值定义不一样,没有可比性

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

确认有问题

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

慕粉3430333 提问者

我的确认有问题? 参考代码有问题? 我的代码有问题?
2016-06-03 回复 有任何疑惑可以回复我~

n的值是进入函数(动作执行前)时a的值,如果move函数的截止数n==0,则说明进行动作前a没有盘子,则盘子从a移到c是有问题的

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

qq_匠邮心生_03449154

最后一次执行的时候,a的值是从1-->0
2016-06-02 回复 有任何疑惑可以回复我~
#2

慕粉3430333 提问者

在我的代码中,n为0时代表A里面只有一个盘子的情况,并不代表盘子数目。我想知道我的代码和参考代码有这种区别的本质原因
2016-06-03 回复 有任何疑惑可以回复我~
#3

慕粉3430333 提问者 回复 qq_匠邮心生_03449154

感觉参考代码是错的……
2016-06-03 回复 有任何疑惑可以回复我~

举报

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

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

进入课程

参考代码中if n==1是否有误?

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