用python及turtle画n阶奇异三角形(顺带简单教下python库,画简单的图够用了)

turtle库看下面我写的一般来说就够了,挺简单的,重点是递归画图。

> turtle库需要下载,打开cmd,输入pip install turtle就可以安装了,下载慢的话可以看我那篇“安装scipy老是失败怎么办”博文。
> turtle.setup():设置一个相当于画板的东西。 
> turtle.penup():拿起画笔,防止设置起点时画笔移动产生“多于线条”。
> turtle.goto(x,y):重置画笔起点。 
> turtle.speed():设置画笔速度,设为0的话,即默认最大值。
> turtle.pensize():设置画笔粗细。
>  turtle.right(x):顺时针旋转x度。
> turtle.left(x):逆时针旋转x度。
>  turtle.fd(y):前进y像素。
> turtle.pendown():讲画笔放在画板上,此时用turtle.fd(y)会看见线条的移动及痕迹。
> turtle.pos():记录画笔位置。

递归时注意,重置画笔坐标时,方向依然不变,需要自己修改。

import turtle as tt
def 奇异三角形(n,size):
    if n==0:
        for angle in [60,-120,-120]:
            tt.left(angle)
            tt.fd(size)
    else:
        pos=tt.pos()
        奇异三角形(n-1,size/2)
        tt.penup()
        tt.goto(pos) # 此时方向指向-x轴
        tt.right(120)
        tt.fd(size/2)
        tt.right(60)
        tt.pendown()
        奇异三角形(n-1,size/2)
        tt.penup()
        tt.goto(pos)
        tt.right(180)
        tt.fd(size/2)
        tt.pendown()
        奇异三角形(n-1,size/2)
tt.setup(1000,1000)
tt.penup()
tt.goto(-500,-200)
tt.pendown()
tt.speed(0)
tt.pensize(2)
奇异三角形(6,700)
tt.done()

背景:在慕课上学python时,课后扩展的习题。

  • 3
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值