植树节-在电脑上种颗树-python实现-递归

猛的发现今天是植树节,从来不关注节日的我今日要为咱们植树节来纪念纪念,咱们画颗树!

本文涉及Python Turtle库,递归算法…

先给代码,咱们再来慢慢解释递归的魅力以及一个理解递归算法运行机制的好方法!


```python
import turtle as t


def tree(n):
    if n > 5:
        t.forward(n)
        t.right(20)
        tree(n-15) #在所有此递归调用全部压入栈之后运行下面的代码
        t.left(40)
        tree(n-10)
        t.right(20)
        t.backward(n)


if __name__ == '__main__':
    t.penup()
    t.right(90)
    t.forward(150)
    t.pendown()
    t.left(170)
    tree(100) #递归画分支
    t.mainloop()

运行结果:
在这里插入图片描述

咱们先为以上代码所需的基础做出描述!

1.首先是栈的概念,栈是一种线性结构,讲概念过于抽象,不妨想象你手上有五本书,你一本一本的放到桌子上,最先放的书在最底下,最后放的书在最上面,然后你在一本一本的拿回来,不能抽书,结果是最后放的书是最先拿上来的,最后放的书最后拿到手里,即,后放先出,先放后出,这就是栈!

2.接着是递归,递归就是函数不停的调用自身,最终不满足基本条件跳出递归!例如


```python
 #求和函数--递归实现
def sum(numlist):
  if len(numlist
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值