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

请帮忙看下这个代码,为什么这么多none,我看答案提供的代码就不会,麻烦指点下,谢谢。

各位大侠,请帮忙看下这个代码为啥输出有这么多个none,我看答案提供的代码就不会,麻烦指点下,谢谢。

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

    if n == 2:

        print a,'-->',b

        print a,'-->',c

        print b,'-->',c

        return

    else:

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

        print a,'-->',c

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

        n = n - 1

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


运行成功,输出错误

A --> B

A --> C

B --> C

None

A --> B

C --> A

C --> B

A --> B

None

None

A --> C

B --> C

B --> A

C --> A

None

B --> C

A --> B

A --> C

B --> C

None

None


正在回答

1 回答

没有n==1的情况

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

慕桂英2576350 提问者

n=2的时候不就已经结束函数了吗
2019-08-27 回复 有任何疑惑可以回复我~
#2

华v华 回复 慕桂英2576350 提问者

打印None是因为你print了move这个函数,而这个函数没有返回值,另外严谨的话还是需要加上n==1的情况.
2019-08-27 回复 有任何疑惑可以回复我~
#3

慕桂英2576350 提问者 回复 华v华

感谢,我明白为什么我的代码和答案有什么区别了。 “打印None是因为你print了move这个函数”
2019-08-27 回复 有任何疑惑可以回复我~

举报

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

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

进入课程

请帮忙看下这个代码,为什么这么多none,我看答案提供的代码就不会,麻烦指点下,谢谢。

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