专栏首页Python爱好者Python绘制分形树(二)

Python绘制分形树(二)

分形树.jpeg

首先我们来分析一下,绘制分形树大概分以下4个部分:

  1. 绘制右侧树枝
  2. 返回树枝节点
  3. 绘制左侧树枝
  4. 返回树枝节点

根据以上4步,写一个递归函数,完成我们的需求:

def draw_branch(branch_length):
    '''绘制树枝'''
    
    if branch_length > 5:
        turtle.forward(branch_length)

        # 绘制右侧树枝    
        turtle.right(20)
        draw_branch(branch_length - 15)

        # 绘制左侧树枝
        turtle.left(40)
        draw_branch(branch_length - 15)

        # 返回之前的树枝
        turtle.right(20)
        turtle.backward(branch_length)

if __name__ == '__main__':
    turtle.left(90)
    draw_branch(80)
    turtle.exitonclick()

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • Python绘制分形树(一)

    dreamkong
  • Java基础笔记21

    dreamkong
  • Java基础笔记12

    dreamkong
  • 韵律渗入语言的记忆(CS CL)

    事实表明,单词在上下文中的平均可预测性(即信息性)决定了单词的持续时间(Seyfarth,2014)。在所有其他条件相同的情况下,倾向于在可预测性更高的环境中出...

    刘子蔚
  • 使用SignalR构建一个最基本的web聊天室

    What is SignalR ASP.NET SignalR is a new library for ASP.NET developers that sim...

    kklldog
  • 公众号还是小程序?内容小程序创业机会来了!

    小程序对于内容创业的价值还是很大的,微信小程序是不是适合内容创业?尽管之前的舆论不是特别的看好小程序的内容创业,但是很多公司依然在尝试小程序的内容创业。也并非是...

    微宝阁
  • Extensions in UWP Community Toolkit - Visual Extensions

    概述 UWP Community Toolkit Extensions 中有一个为可视元素提供的扩展 - VisualExtensions,本篇我们结合代码详细...

    Shao Meng
  • linux开启tcp_timestamps和tcp_tw_recycle引发的问题研究

    最近看内核参数tcp_tw_recycle(该参数在内核 4.12 之后被移除),它用于快速回收处理TIME_WAIT状态的socket。搜索该参数相关的资料,...

    charlieroro
  • Novel 1.2.2 发布,新增全屏显示

    一直想做一款后台管理系统,看了很多优秀的开源项目,从中发现了若依开源框架,从她出现以来就一直关注,但发现其中的功能太过强大,部分功能也不太适合自己,并且自己也一...

    吟风者
  • tkinter -- Menu

    程序每次打印出当前选中的语言,与 Checkbutton 不同的是,同一个组内只有一个处于选中状态

    py3study

扫码关注云+社区

领取腾讯云代金券