turtle作品一个-------怒放的樱花

学习完了turtle模块,花了两小时画了一幅樱花,希望大家喜欢。

迭代过程有点头疼,需要耐心思考,动笔画一下。

源代码如下:

import turtle
import random as rm


angle1 = [55, 35, 45]
angle2 = [15, 30, 45]
size = [3, 5, 7, 9]
color2 = ['pink']
color = ['#00FF00', '#00CED1', '#FFD700', '#4A708B', '#FFE4B5']


def treebranch(branchLen, t, ag):
    t.right(ag)
    # t.color(cr)
    t.forward(branchLen)
    tree(branchLen, t)
    t.backward(branchLen)

    t.left(ag)
    # t.color(cr)
    t.forward(branchLen)
    tree(branchLen, t)
    t.backward(branchLen)

    t.left(ag)
    # t.color(cr)
    t.forward(branchLen)
    tree(branchLen, t)
    t.backward(branchLen)

    t.right(ag)
    t.pensize(branchLen / 10)

def tree(branchLen, t):
    cr = rm.choice(color)
    t.pensize(3)
    if branchLen > 105:
        # ag = rm.choice(35)
        treebranch(branchLen - 5, t, 35)

    elif branchLen > 90:
        ag = rm.choice(angle1)
        treebranch(branchLen-15, t, ag)

    elif branchLen > 50:
        ag = rm.choice(angle2)
        treebranch(branchLen-10, t, ag)

    else:
        # 画?
        t.color('pink')
        t.fillcolor('pink')
        t.begin_fill()
        sz = rm.choice(size)
        t.circle(sz, 360)
        t.end_fill()
    t.color(cr)


def main():
    t = turtle.Turtle()
    myWin = turtle.Screen()
    t.left(90)
    t.up()
    t.backward(150)
    t.down()
    # t.speed(50)
    turtle.tracer(0)
    tree(110, t)
    turtle.update()
    myWin.exitonclick()


main()

关于turtle的教程,网上很多,我就不做具体介绍。

我参考的是这篇:https://www.jianshu.com/p/7118a1784f46 

 

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值