码迷,mamicode.com
首页 > 编程语言 > 详细

Python 圣诞树和樱花树源码

时间:2019-12-26 11:19:12      阅读:632      评论:0      收藏:0      [点我收藏+]

标签:ora   turtle   rac   ret   size   color   turn   mamicode   begin   

樱花树:

import turtle as T
import random
import time

# 画樱花的躯干(60,t)
def Tree(branch, t):
    time.sleep(0.0005)
    if branch > 3:
        if 8 <= branch <= 12:
            if random.randint(0, 2) == 0:
                t.color(snow)  #
            else:
                t.color(lightcoral)  # 淡珊瑚色
            t.pensize(branch / 3)
        elif branch < 8:
            if random.randint(0, 1) == 0:
                t.color(snow)
            else:
                t.color(lightcoral)  # 淡珊瑚色
            t.pensize(branch / 2)
        else:
            t.color(sienna)  # 赭(zhě)色
            t.pensize(branch / 10)  # 6
        t.forward(branch)
        a = 1.5 * random.random()
        t.right(20 * a)
        b = 1.5 * random.random()
        Tree(branch - 10 * b, t)
        t.left(40 * a)
        Tree(branch - 10 * b, t)
        t.right(20 * a)
        t.up()
        t.backward(branch)
        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)

# 绘图区域
t = T.Turtle()
# 画布大小
w = T.Screen()
t.hideturtle()  # 隐藏画笔
t.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()

效果:

技术图片

 

圣诞树:

from turtle import *
import random
import time

n = 100.0

speed("fastest")
screensize(bg=seashell)
left(90)
forward(3*n)
color("orange", "yellow")
begin_fill()
left(126)

for i in range(5):
    forward(n/5)
    right(144)
    forward(n/5)
    left(72)
end_fill()
right(126)

color("dark green")
backward(n*4.8)
def tree(d, s):
    if d <= 0: return
    forward(s)
    tree(d-1, s*.8)
    right(120)
    tree(d-3, s*.5)
    right(120)
    tree(d-3, s*.5)
    right(120)
    backward(s)
tree(15, n)
backward(n/2)

for i in range(200):
    a = 200 - 400 * random.random()
    b = 10 - 20 * random.random()
    up()
    forward(b)
    left(90)
    forward(a)
    down()
    if random.randint(0, 1) == 0:
            color(tomato)
    else:
        color(wheat)
    circle(2)
    up()
    backward(a)
    right(90)
    backward(b)

time.sleep(60)

效果:

技术图片

参考:

  https://blog.csdn.net/weixin_43943977/article/details/102691392

Python 圣诞树和樱花树源码

标签:ora   turtle   rac   ret   size   color   turn   mamicode   begin   

原文地址:https://www.cnblogs.com/swjian/p/12100886.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!