前言
Turtle 库是 Python 语言中一个很流行的绘制图像的函数库。
想象一个小乌龟,在一个横轴为 x、纵轴为 y 的坐标系原点 (0,0) 位置开始,它根据一组函数指令的控制,在这个平面坐标系中移动,从而在它爬行的路径上绘制了图形。
接下来,我们将使用函数绘制几种樱花树:
说明:代码里用了随机函数,所以每次执行过程不仅仅是动态的,而且结果也是不同的。
1. 动态生成樱花
代码如下:
# coding=utf-8
# 画一棵樱花
import turtle
import random
from turtle import *
from time import sleep
# 画樱花的躯干 (60,t)
def tree(branchLen, t):
sleep(0.0005)
if branchLen > 3:
if 8 <= branchLen <= 12:
if random.randint(0, 2) == 0:
t.color('snow') # 白
else:
t.color('lightcoral') # 淡珊瑚色
t.pensize(branchLen / 3)
elif branchLen < 8:
if random.randint(0, 1) == 0:
t.color('snow')
else:
t.color('lightcoral') # 淡珊瑚色
t.pensize(branchLen / 2)
else:
t.color('sienna') # 赭 (zhě) 色
t.pensize(branchLen / )
t.forward(branchLen)
a = * random.random()
t.right( * a)
b = * random.random()
tree(branchLen - * b, t)
t.left( * a)
tree(branchLen - * b, t)
t.right( * a)
t.up()
t.backward(branchLen)
t.down()
():
i (m):
a = - * random.random()
b = - * random.random()
t.up()
t.forward(b)
t.left()
t.forward(a)
t.down()
t.color()
t.circle()
t.up()
t.backward(a)
t.right()
t.backward(b)
():
t = turtle.Turtle()
w = turtle.Screen()
t.hideturtle()
getscreen().tracer(, )
w.screensize(bg=)
t.left()
t.up()
t.backward()
t.down()
t.color()
tree(, t)
petal(, t)
w.exitonclick()
main()


