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

'return'在此处什么含义

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

return什么意思在此处;第7行后面为何不用return就可以运行。

正在回答

2 回答

当n=1时只需要直接将a移动到c就可以了,整个操作结束,通过return终止操作;如果这里没有return,程序会继续向下执行move(n-1, a, c, b),这时n=1,会导致传入的第一个参数为0,最终导致程序错误。

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

声声慢py 提问者

当n=4时,它又是怎么计算的,后面就会出现move(3,a,c,b) print a,'-->',c move(3,b,a,c) 这个又是怎么返回计算的,哪个指令赋予它循环的
2019-07-09 回复 有任何疑惑可以回复我~

给你一张图片可以更好的理解递归函数。

https://img1.sycdn.imooc.com//5d269bfb0001d4df13510808.jpg

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

声声慢py 提问者

首先很感谢,这个图的循环逻辑我知道。我不懂的是 return 和else在此处带有循环的含义?另外,原代码没有else,只有return。
2019-07-11 回复 有任何疑惑可以回复我~
#2

慕用0051444 回复 声声慢py 提问者

对啊 我也是很疑惑给出的官方答案,为啥有return 又没有else 就算是n=2,那执行了2-1 之后 里面也有return啊 为啥还能执行后面的 真的好疑惑 不过上面那个图片通俗易懂啊 完全理解
2019-07-26 回复 有任何疑惑可以回复我~

举报

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

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

进入课程

'return'在此处什么含义

我要回答 关注问题
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号