猫史档案馆


【Python作品分享】分形樱花树【作品秀】

用户:与竹独行与竹独行查看:0 回复:0 评论:0 创建时间:2020-01-06T15:29:49


【作品展示】

center_image

 

【作品介绍】

一个可以展现不同樱花树风情与形象的程序!

从模板作品改编而来!

 

【作品源代码】

import random
import turtle
import time

def tree(branchLen,t):
    if branchLen > 3:
        if 8 <= branchLen and branchLen <= 12 :
            if random.randint(0, 2) == 0 :
                t.pencolor('snow')
            else :
                t.pencolor('lightcoral')
            t.pensize((branchLen / 3))
        elif branchLen < 8 :
            if random.randint(0, 1) == 0 :
                t.pencolor('snow')
            else :
                t.pencolor('lightcoral')
            t.pensize((branchLen / 2))
        else :
            t.pencolor('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.penup()
        t.backward(branchLen)
        t.pendown()

def petal(m,t):
    for i in range(m):
        a = (200 - 400 * random.random())
        b = (10 - 20 * random.random())
        t.penup()
        t.forward(b)
        t.left(90)
        t.forward(a)
        t.pendown()
        t.pencolor('lightcoral')
        t.circle(1)
        t.penup()
        t.backward(a)
        t.right(90)
        t.backward(b)

def main(n):
    for x in range(n):
        t = turtle.Pen()
        t.clear()
        t.speed(0)
        turtle.bgcolor('wheat')
        t.left(90)
        t.penup()
        t.backward(150)
        t.pendown()
        t.pencolor('sienna')
        tree(60, t)
        petal(100, t)
        c = turtle.Pen()
        c.clear()
        c.speed(0)
        turtle.bgcolor('wheat')
        c.left(90)
        c.penup()
        c.backward(150)
        c.pendown()
        c.pencolor('sienna')
        tree(60, c)
        petal(100, c)
        time.sleep(5)
        if x < (n - 1):
            c.clear()
            t.clear()
            print(x + 1)
        else:
            turtle.done()

n = 0
n = int(input("樱花图的数量:(输入数字)"))
while n > 5:
    print("太多了!")
    n = int(input("樱花图的数量:(输入数字)"))

main(n)

 

【提示】

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

https://python.codemao.cn


回复

上一页1 页 / 共 0下一页