分型櫻花樹 python

2021-10-24 14:50:35 字數 2533 閱讀 4448

import random

import turtle

__pen = turtle.pen(

)# 分形櫻花樹

# 「畫樹」函式

# 引數分別是樹枝長度、畫筆

deftree

(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函式內部調自己,這種方式叫遞迴呼叫

# 遞迴可以大幅提公升程式設計效率

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(

)# 繪製樹下花瓣,引數分別是畫板數、畫筆

defpetal

(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)

defmain()

:

t = turtle.pen(

)

__pen.hideturtle(

)

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)

turtle.done(

)main(

)

Python畫櫻花樹

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

櫻花樹開花

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

櫻花樹下 py

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.colo...