Python-turtle画出樱花树(有趣小游戏)
一、效果图
二、Python代码
import turtle as T
import random
from time import sleep
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')
t.pensize(branchLen / 10)
t.forward(branchLen)
a = 1.5 * random.random()
t.right(20*a)
b = 1.5 * random.random()
tree(branchLen-10*b, t)
t.left(40*a)
tree(branchLen-10*b, t)
t.right(20*a)
t.up()
t.backward(branchLen)
t.down()
def petal(m, t):
for i in range(m):
a = 200 - 400 * random.random()
b = 10 - 20 * random.random()
t.up()
t.forward(b)
t.left(90)
t.forward(a)
t.down()
t.color('lightcoral')
t.circle(1)
t.up()
t.backward(a)
t.right(90)
t.backward(b)
def main():
t = T.Turtle()
w = T.Screen()
t.hideturtle()
t.getscreen().tracer(5,0)
w.screensize(bg='seashell')
t.left(90)
t.up()
t.backward(150)
t.down()
t.color('sienna')
tree(60,t)
petal(200, t)
t.up()
t.goto(-50, -250)
t.down()
t.pencolor('pink')
t.write('樱花树', font=('宋体', 40, 'bold'))
w.exitonclick()
main()