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()