Number1.松树
这是用forward()for循环和random库做出来的
代码:
from turtle import *
import random
speed("fastest")
left(90)
forward(300.0)
color("dark green")
backward(100.0*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, 100.0)
backward(100.0/2)
for i in range(200):
a = 200 - 400 * random.random()
b = 10 - 20 * random.random()
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)
Number2.圣诞树
这个很简单,用for循环就能做出来!
代码:
import turtle
screen = turtle.Screen()
screen.setup(800, 600)
circle = turtle.Turtle()
circle.shape('circle')
circle.color('red')
circle.up()
square = turtle.Turtle()
square.shape('square')
square.color('green')
square.up()
circle.goto(0, 280)
circle.stamp()
k = 0
for i in range(1, 17):
y = 30*i
for j in range(i-k):
x = 30*j
square.goto(x, -y+280)
square.stamp()
square.goto(-x, -y+280)
square.stamp()
if i % 4 == 0:
x = 30*(j+1)
circle.color('red')
circle.goto(-x, -y+280)
circle.stamp()
circle.goto(x, -y+280)
circle.stamp()
k += 2
if i % 4 == 3:
x = 30*(j+1)
circle.color('yellow')
circle.goto(-x, -y+280)
circle.stamp()
circle.goto(x, -y+280)
circle.stamp()
square.color('brown')
for i in range(17, 20):
y = 30*i
for j in range(3):
x = 30*j
square.goto(x, -y+280)
square.stamp()
square.goto(-x, -y+280)
square.stamp()
Number3.樱花树
Python画樱花树很经典,用到的是random库和if判断。
代码展示:
import random
import turtle
__Pen = turtle.Pen()
def tree(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(branchLen - 10 * b, t)
t.left((40 * a))
tree(branchLen - 10 * b, t)
t.right((20 * a))
t.penup()
t.backward(branchLen)
t.pendown()
def petal(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)
def main():
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()
就分享这三种树了,还有很多!
end~~~~~~~~~