赞
踩
示例代码:
- import turtle
- import random
-
-
- # 在(x, y)处画爱心lalala
- def love(x, y):
- lv = turtle.Turtle()
- lv.hideturtle()
- lv.up()
- # 定位到(x, y)
- lv.goto(x, y)
-
- # 画圆弧
- def curvemove():
- for i in range(20):
- lv.right(10)
- lv.forward(2)
- lv.color('red', 'pink')
- lv.speed(10000000)
- lv.pensize(1)
- # 开始画爱心lalala
- lv.down()
- lv.begin_fill()
- lv.left(140)
- lv.forward(22)
- curvemove()
- lv.left(120)
- curvemove()
- lv.forward(22)
- # 写上表白的人的名字
- lv.write("李杰", font=("Arial", 12, "normal"), align="center")
- # 画完复位
- lv.left(140)
- lv.end_fill()
-
-
- def tree(branchLen, t):
- # 剩余树枝太少要结束递归
- if branchLen > 5:
- if branchLen < 20:
- t.color("green")
- t.pensize(random.uniform((branchLen + 5) / 4 - 2, (branchLen + 6) / 4 + 5))
- t.down()
- t.forward(branchLen)
- # 传输现在turtle的坐标
- love(t.xcor(), t.ycor())
- t.up()
- t.backward(branchLen)
- t.color("brown")
- return
- t.pensize(random.uniform((branchLen+5)/4-2, (branchLen+6)/4+5))
- t.down()
- t.forward(branchLen)
- # 以下递归
- ang = random.uniform(15, 45)
- t.right(ang)
- # 随机决定减小长度
- tree(branchLen-random.uniform(12, 16), t)
- t.left(2*ang)
- # 随机决定减小长度
- tree(branchLen-random.uniform(12, 16), t)
- t.right(ang)
- t.up()
- t.backward(branchLen)
-
-
- myWin = turtle.Screen()
- t = turtle.Turtle()
- t.hideturtle()
- t.speed(1000)
- t.left(90)
- t.up()
- t.backward(200)
- t.down()
- t.color("brown")
- t.pensize(32)
- t.forward(60)
- tree(100, t)
- myWin.exitonclick()
运行效果:
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。