改进了大神的代码,turtle很好玩。
from turtle import *
from random import *
from math import *
from cmath import pi
def tree(n, l):
pd()
t = cos(radians(heading() + 45)) / 8 + 0.25
pencolor(t+125/255, t+71/255, t+11/255)
pensize(n / 4)
forward(l)
if n > 0:
b = random() * 15 + 10
c = random() * 15 + 10
d = l * (random() * 0.35 + 0.6)
right(b)
tree(n - 1, d)
left(b + c)
tree(n - 1, d)
right(c)
else:
s = randint(0,1)
if s == 1:
pencolor('green')
die = 110
C = 8
R = C/(2*cos(pi*((90-die/2)/180)))
for i in range(2):
left(die/2)
circle(-R,die)
pu()
left(die/2)
backward(2*R*cos(pi*((90-die/2)/180)))
pd()
die -= 70
R = C/(2*cos(pi*((90-die/2)/180)))
die = 90
R = C/(2*cos(pi*((90-die/2)/180)))
right(die/2)
circle(R,die)
pu()
right(die/2)
backward(2*R*cos(pi*((90-die/2)/180)))
pd()
pu()
backward(l)
bgcolor(0.5, 0.5, 0.5)
speed(0)
ht()
tracer(0,0)
left(90)
pu()
backward(300)
tree(12, 120)
done()