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

这个递归函数中的return看不懂!!!!!!大神在哪里???

这个递归函数中的return看不懂!!!!!!大神在哪里???

慕粉2151544046 2017-03-15 21:57:11
def move(n, a, b, c):     if n==1:         print a,'-->',c         return#这个return为什么加这里??不符合函数return的规则啊     move(n-1,a,c,b)     print a,'-->',c     move(n-1,b,a,c)      move(4, 'A', 'B', 'C')
查看完整描述

1 回答

已采纳
?
八神花露水

TA贡献35条经验 获得超103个赞

这里的return的作用是结束递归调用。return 的作用除了返回值,还可以终止函数执行。

当然,你也可以写成这种形式,作用是一样的。

def move(n, a, b, c):
    if n==1:
        print a,'-->',c
    else:
        move(n-1,a,c,b)
        print a,'-->',c
        move(n-1,b,a,c)

只不过当逻辑比较复杂时,if else 的嵌套会很深,这时用return直接终止函数,就不用进行额外的判断了。

查看完整回答
反对 回复 2017-03-15
  • 1 回答
  • 0 关注
  • 2056 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信