![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
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() #画完窗口不会消失