python递归画三角形_python 使用turtule绘制递归图形(螺旋、二叉树、谢尔宾斯基三角形)...

本文使用Python的turtle模块通过递归实现绘制螺旋、二叉树和谢尔宾斯基三角形。通过调整参数,可以观察到不同形状和细节的艺术效果。
摘要由CSDN通过智能技术生成

插图工具使用Python内置的turtle模块,为什么叫这个turtle乌龟这个名字呢,可以这样理解,创建一个乌龟,乌龟能前进、后退、左转、右转,乌龟的尾巴朝下,它移动时就会画一条线。并且为了增加乌龟画图的艺术价值,可以改变尾巴宽度和尾巴浸入墨水的颜色。

1.递归绘制螺旋

先用我们让乌龟以line_len长度前进,然后向右旋转90°,然后缩短line_len长度递归调用draw_spiral函数

importturtle

my_turtle=turtle.Turtle()

my_win=turtle.Screen()defdraw_spiral(tur, line_len):if line_len >0:

my_turtle.forward(line_len)

my_turtle.right(90)

draw_spiral(tur, line_len- 1)

draw_spiral(my_turtle,100)

my_win.exitonclick()

2.递归绘制二叉树

首先绘制branch_length长度的主干枝条,然后向右旋转20°,递归调用draw_tree绘制主干枝条上的右分支,之后再向左旋转40°(因为需要抵消右旋转的20°),递归调用draw_tree绘制主干枝条的左分支,然后再向右旋转20°,原路返回。

importturtle

my_tree=turtle.Turtle()

my_win=turtle.Screen()defdraw_tree(branch_length, t):

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值