python海龟画三角形_Python乌龟程序实现sierpinski三角形分形地毯(第17讲)

# -*- coding: utf-8 -*-

"""

Lesson 17 : 利用递归算法,生成分形图形

"""

import turtle

# 引入函数,过程,将重复动作组合在一个函数中。

def sierpinski(turtle,length,level):

if level

== 0:

triangle(turtle,length)

else:

#for i in range(3):重复三次画三角形,分别在三个顶点上画三角形

curpos =

t.position() # 保留起始点坐标

length *= 0.5

sierpinski(turtle,length,level-1)

turtle.penup()

turtle.forward(length)

turtle.pendown()

sierpinski(turtle,length,level-1)

turtle.penup()

turtle.left(120)

turtle.forward(length)

turtle.right(120)

turtle.pendown()

sierpinski(turtle,length,level-1)

t.setposition(curpos[0],curpos[1]) # 回到起始点,方向也复原

def triangle(t,length):

for i in

range(3):

t.forward(length)

t.left(120)

scr = turtle.Screen()

t =

turtle.Pen() # 初始化乌龟程序,调出图形框,准备好画笔

t.shape("turtle") #

改变画笔形状为一只乌龟,缺省是箭头arrow,

# 还可以为 'circle'-圆, 'square'-正方形, 'triangle'-三角形,

'classic'.

scr.bgcolor("black") #

(0.1,0.51,0.3) # red,green,blue

取值在0和1之间。1代表255,

t.pensize(2) # 改变线宽度

t.color("red") # 改变画笔颜色,还有green,blue,black,white,pink,...,或者(r,g,b)

t.speed(0)

t.penup()

t.setposition(-200,-100)

t.pendown()

sierpinski(t,400,4)

t.hideturtle() #隐藏乌龟图形

scr.exitonclick()

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值