递归--一个简单的例子

python中,函数是储存在栈中,遵循栈的先进后出规则。
在递归函数中,函数按照先进后出规则入栈。然后再按照后进先出规则出栈。


看下边例子:

def t(n):
    if n == 0:
        return
    print('*' * n)
    t(n - 1)


t(5)
'''
输出结果:t(5)调用t(4),t(4)调用t(3)...直到最终t(0)return才算执行完毕。
(注意:没有return之前,这五个函数都没有结束,他们在一直的递出去,return之后开始归来。)
然后才依次从栈顶弹出t(0)...t(5),表示各个函数执行完毕。
*****
****
***
**
*
'''

图例: 

 

'''此函数结果与上个函数相反'''
def t(n):
    if n == 0:
        return
    t(n - 1)
    print('*' * n)


t(5)

'''
输出结果:
t(0):终于到我了!return!
t(1):呀!t(0)完事了,那我也完事了,print!
...
t(5):你们都跑完了,那我也就没事了,print!
*
**
***
****
*****
'''

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值