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

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


慕粉2151544046
浏览 2057回答 1
1回答

八神花露水

这里的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直接终止函数,就不用进行额外的判断了。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python