Python绘制圣诞树

1、简单的绘制圣诞树

新建tree1.py或者直接输入下面代码运行#声明树的高度

height = 5

树的雪花数,初始为1

stars = 1

以数的高度作为循环次数

for i in range(height):

print((' ' (height - i)) + ('' * stars))

stars += 2

输出树干

print((' ' * height) + '|')

1581558705868932.png

2、使用turtle绘制简单圣诞树

新建tree2py,输入以下代码#导入turtle库

import turtle

设置屏幕大小

screen = turtle.Screen()

screen.setup(800,600)

获取画笔并设置一些属性:圆形、红色、快

circle = turtle.Turtle()

circle.shape('circle')

circle.color('red')

circle.speed('fastest')

抬起画笔

circle.up()

重新获取画笔

square = turtle.Turtle()

重新设置画笔属性:四方形、绿色、快

square.shape('square')

square.color('green')

square.speed('fastest')

重新抬起画笔

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

turtle.exitonclick()

运行:

1581558728714813.png

3、使用Turtle绘制复杂圣诞树

新建tree3.py,输入以下代码#导入所依赖的库

from turtle import *

import random

import time

n = 80.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)

运行:

1581558755216212.png

你可能感兴趣的:(python)