櫻花樹下 py

2021-10-01 07:24:40 字數 3074 閱讀 9430

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 *

from random import *

from math import *

def tree(n,l):

pd()#下筆

#陰影效果

t = cos(radians(heading()+45))/8+0.25

pencolor(t,t,t)

pensize(n/3)

forward(l)#畫樹枝

if n>0:

b = random()*15+10 #右分支偏轉角度

c = random()*15+10 #左分支偏轉角度

d = l*(random()*0.25+0.7) #下乙個分支的長度

#右轉一定角度,畫右分支

right(b)

tree(n-1,d)

#左轉一定角度,畫左分支

left(b+c)

tree(n-1,d)

#轉回來

right(c)

else:

#畫葉子

right(90)

n=cos(radians(heading()-45))/4+0.5

pencolor(n,n*0.8,n*0.8)

circle(3)

left(90)

#新增0.3倍的飄落葉子

if(random()>0.7):

pu()

#飄落t = heading()

an = -40 +random()*40

setheading(an)

dis = int(800*random()*0.5 + 400*random()*0.3 + 200*random()*0.2)

forward(dis)

setheading(t)

#畫葉子

pd()

right(90)

n = cos(radians(heading()-45))/4+0.5

pencolor(n*0.5+0.5,0.4+n*0.4,0.4+n*0.4)

circle(2)

left(90)

pu()

#返回t=heading()

setheading(an)

backward(dis)

setheading(t)

pu()

backward(l)#退回

bgcolor(0.5,0.5,0.5)#背景色

ht()#隱藏turtle

speed(0)#速度 1-10漸進,0 最快

tracer(0,0)

pu()#抬筆

backward(100)

left(90)#左轉90度

pu()#抬筆

backward(300)#後退300

tree(12,100)#遞迴7層

done()

櫻花樹開花

turtle櫻花樹開花 import l14 runok import l13 dafuweng af import l12 homework ide import l13 dafuweng af import l13 dafuweng be import l15 xiaoaomaicai impo...

Python畫櫻花樹

python的turtle模組肯定很棒吧!這次,我們要利用turtle來完成乙個櫻花樹的繪製。我們要用def和for語句迴圈。難度等級 python資源共享群 626017123 工具 turtle random 我用的是python 3.8.0b3 shell,開始寫 吧!櫻花樹 import r...

分型櫻花樹 python

import random import turtle pen turtle.pen 分形櫻花樹 畫樹 函式 引數分別是樹枝長度 畫筆 deftree branchlen,t if branchlen 3 if 8 branchlen and branchlen 12 if random.randi...