猫史档案馆


【Python作品分享】樱花树【教程贴】

用户:WYN0917WYN0917查看:23 回复:0 评论:0 创建时间:2019-06-20T19:51:29


【作品展示】

center_image

 

【作品介绍】

yay

 

【作品源代码】

#!/usr/bin/env python
# coding=utf-8
# 画一棵樱花


import turtle
import random           #random:随机数
from turtle import *    #*:全部
from time import sleep


# 画樱花的躯干(60,t)
def tree(branchLen,t):
    t.hideturtle()
    sleep(0.0005)           #暂停0.0005秒(我想pygame.time.delay(5)也行)
    if branchLen >3:
        if 8<= branchLen <=12:
            if random.randint(0,2) == 0:        #在树枝宽度大时,三分之一概率白,三分之二淡珊瑚色
                t.color('snow') # 白          #turtle中可用的所有颜色参见f盘图片
            else:
                t.color('lightcoral') # 淡珊瑚色
            t.pensize(branchLen / 3)#如果树枝宽度在八到十二间,树枝宽度/3,也就是小一些
        elif branchLen <8:
            if random.randint(0,1) == 0:    #在树枝宽度小时,一半概率白,一半淡珊瑚色
                t.color('snow')
            else:
                t.color('lightcoral') # 淡珊瑚色
            t.pensize(branchLen / 2)#如果树枝宽度小于三,树枝宽度/10,也就是相对/3,树枝宽度大一些

        else:
            t.color('sienna') # 赭(zhě)色
            t.pensize(branchLen / 10) # 6   #如果树枝宽度在八到三间,树枝宽度/10,也就是相对/3/2,树枝宽度小一些
        t.forward(branchLen)#t前进树枝宽度
        a = 1.5 * random.random()#a,b是局部变量      #
        t.right(20*a)
        b = 1.5 * random.random()#random.random:随机纯小数(应该和random.randfloat(0.0,1.0)一样)
        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):
        t.hideturtle()
        a = 200 - 400 * random.random()
        b = 10 - 20 * random.random()
        t.up()#抬笔
        t.forward(b)#前进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 = turtle.Turtle()
    # 画布大小
    w = turtle.Screen()
    t.hideturtle() # 隐藏画笔
    getscreen().tracer(5,0)
    w.screensize(bg='wheat') # wheat小麦
    t.left(90)
    t.up()
    t.backward(150)
    t.down()
    t.color('sienna')

    # 画樱花的躯干
    tree(60,t)
    # 掉落的花瓣
    petal(200, t)
    w.exitonclick()

main()

 

【提示】

部分含有Python第三方库相关内容的作品,在海龟编辑器网页端无法运行哦!如遇到这种情况,可以打开下面的链接,下载海龟编辑器客户端:

https://python.codemao.cn


回复

上一页第 1 页 / 共 0 页下一页