import turtle
from turtle import *
import random
import time
#背景
turtle.speed("fastest") # 定义速度
turtle.screensize(bg="black") # 北京颜色
n = 80 # 画笔移动基数
turtle.pensize(3) # 画笔宽度
turtle.setup(900,550) # 画布大小
left(90)
forward(3 * n)
# 画五角形
def start():
color("orange", "yellow") # 定义最上端星星的颜色,外圈是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)
# 树叶上加上彩灯
def deng():
if random.randint(10,50) == 10:
color("tomato")
circle(6)
elif random.randint(10,50) == 50:
color("yellow")
circle(3)
else:
color("green")
# 写上字
def work():
color("red")
write("圣诞快乐",align="center",font=("Comic Sans MS",40,"bold"))
# 添加雪花
def snow():
ht() # 开启隐藏画笔模式
for i in range(200):
color("white") # 设定颜色
penup() # 抬起画笔
x_range = [-350,350] #设定x 轴 区间
y_range = [-100,350] # 设定y轴 区间
setx(random.randint(x_range[0],x_range[1])) # 随机设定x 轴
sety(random.randint(y_range[0],y_range[1])) # 随机设定y轴
pendown() # 落笔
leasize = 6 # 雪花6 片
szie = random.randint(1,8) #随机雪花大小
for n in range(leasize): # 开始画
forward(int(szie))
backward(int(szie))
right(int(360/leasize))
# 树叶
def tree_ye(d, s): # 开始画树
if d <= 0: return
forward(s)
tree_ye(d - 1, s * .8)
right(120)
tree_ye(d - 3, s * .5)
deng() # 同时调用小彩灯的方法
right(120)
tree_ye(d - 3, s * .5)
right(120)
backward(s)
start()
# 画树
color('dark green') # 设置树的画笔颜色为深绿色
backward(n * 4.8) # 向后画一条 self.base_num * 4.8的直线
tree_ye(15,n)
backward(n / 2) # 向后画一条 self.base_num / 2的直线
work()
snow()
turtle.done() #画完窗口不会消失