前言:

1.在开始前需要引入turtle库,若没有下载这个库可以复制下面这条语句在PyCharm终端下载

pip install turtle

2.turtle库,它这个画笔是在这个窗口横轴x轴,纵轴y轴从原点(0,0)处开始,以函数指令使其移动绘图。

正文:

一:开始前引入所需的库

# turtle as t 是将turtle替换为timport turtle as t# 随机库import random# 引入turtle库中的所有用法from turtle import *

二:设置窗口属性和RGB颜色属性以及绘图数度

# 设置窗口大小和背景颜色t.screensize(800,700,'black')# RGB默认范围是0~1,通过Screen().colormode设置成0~255Screen().colormode(255)# 加快作图数度t.speed(speed='fastest')

三:画圣诞树

# 画树t.left(90)t.forward(-300)t.pensize(5)# 设置画笔颜色t.color('green')# 开始画树def tree(d, s):if d <= 0:returnforward(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)backward(50)

四:画五角星

# 画五角星def xin():t.right(90)# 设置画笔尺寸t.pensize(3)# t.circle(40)# 抬笔t.penup()# 将画笔移动到该位置t.goto(-25,190)# 落笔pendown()# 开始填充t.begin_fill()# 设置画笔颜色t.color('yellow')# 画五角星,一共需要五笔for i in range(5):t.forward(55)t.right(144)# 结束填充t.end_fill()# 调用画五角星函数xin()

五:画天上的星星

# 满天繁星# 用for循环画17颗星星for i in range(17):# 设置随机坐标x=random.randint(-400,400)y=random.randint(240,330)# 设置星星随机大小a=random.randint(5,12)# 抬笔t.penup()# 将画笔移动到随机位置t.goto(x,y)# 落笔t.pendown()t.pensize(5)t.color('yellow')t.begin_fill()for i in range(4):t.forward(a)t.left(30)t.forward(a)t.right(120)# 每画完一颗星星将画笔方向向左改变30度,使星星看起来更加生动t.left(30)t.end_fill()

六:画彩色气球

#彩色气球# 利用循环画20个气球for i in range(20):# 设置随机位置X=random.randint(-400,400)Y=random.randint(-170,150)# 抬笔t.penup()# 将画笔位置移动到初始位置t.home()# 将画笔移动到随机位置t.goto(X, Y)# 设置RGB颜色范围red=random.randint(100,255)green=random.randint(50,155)blue=random.randint(100,255)# 画笔尺寸t.pensize(2)# 落笔t.pendown()# 设置气球线颜色t.color('white')t.left(90)t.circle(80,15)t.circle(-80,15)t.right(90)t.pensize(5)# 利用RGB颜色设置气球颜色t.color(red,green,blue)t.begin_fill()t.circle(15)t.end_fill()

七:画彩灯

# 彩灯def light():# 隐藏笔头,ht=hideturtlet.hideturtle()# 利用for循环画100个彩灯for i in range(100):t.penup()# 设置彩灯随机位置x=random.randint(-300,300)y=random.randint(-350,-300)# 设置RGB颜色red=random.randint(100,255)green=random.randint(50,155)blue=random.randint(100,255)# 将画笔移动到随机位置t.goto(x,y)t.pendown()t.pensize(5)t.color(red,green,blue)t.begin_fill()t.circle(10)t.end_fill()# 调用彩灯函数light()

八:画满天飞雪

# 雪花def drawsnow():# 隐藏笔头,ht=hideturtlet.hideturtle()t.pensize(2)for i in range(200):t.pencolor("white")t.penup()# 设置雪花随机位置坐标x=random.randint(-400,400)y=random.randint(-250,300)# 将画笔移动到随机位置t.goto(x,y)t.pendown()# 雪花花瓣数petal = 6# 设置雪花随机大小snowsize = random.randint(1, 10)# print(type(snowsize))for j in range(petal):t.forward(snowsize)t.backward(snowsize)# 转动角度t.right(int(360 / petal))# 调用雪花函数drawsnow()

九:画祝福话语

# 添加文字t.penup()t.goto(-300,-250)t.color('red')t.pendown()t.write('祝 刘晓云 Merry Christmas!',font=('Mistral',42,'bold italic'))

十:防止绘图完成后窗口秒关

# 防止绘图完成后窗口秒关t.done()

最后完整代码双手奉上!

import turtle as t# 随机库import random# 引入turtle库中的所有用法from turtle import *# 跳过绘图过程t.tracer(False)# 设置窗口大小和背景颜色t.screensize(800,700,'black')# RGB默认范围是0~1,通过Screen().colormode设置成0~255Screen().colormode(255)# 加快作图数度t.speed(speed='fastest')# 画树t.left(90)t.forward(-300)t.pensize(5)# 设置画笔颜色t.color('green')# 开始画树def tree(d, s):if d <= 0:returnforward(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)backward(50)# 画五角星def xin():t.right(90)# 设置画笔尺寸t.pensize(3)# t.circle(40)# 抬笔t.penup()# 将画笔移动到该位置t.goto(-25,190)# 落笔pendown()# 开始填充t.begin_fill()# 设置画笔颜色t.color('yellow')# 画五角星,一共需要五笔for i in range(5):t.forward(55)t.right(144)# 结束填充t.end_fill()# 调用画五角星函数xin()# 满天繁星# 用for循环画17颗星星for i in range(17):# 设置随机坐标x=random.randint(-400,400)y=random.randint(240,330)# 设置星星随机大小a=random.randint(5,12)# 抬笔t.penup()# 将画笔移动到随机位置t.goto(x,y)# 落笔t.pendown()t.pensize(5)t.color('yellow')t.begin_fill()for i in range(4):t.forward(a)t.left(30)t.forward(a)t.right(120)# 每画完一颗星星将画笔方向向左改变30度,使星星看起来更加生动t.left(30)t.end_fill()#彩色气球# 利用循环画20个气球for i in range(20):# 设置随机位置X=random.randint(-400,400)Y=random.randint(-170,150)# 抬笔t.penup()# 将画笔位置移动到初始位置t.home()# 将画笔移动到随机位置t.goto(X, Y)# 设置RGB颜色范围red=random.randint(100,255)green=random.randint(50,155)blue=random.randint(100,255)# 画笔尺寸t.pensize(2)# 落笔t.pendown()# 设置气球线颜色t.color('white')t.left(90)t.circle(80,15)t.circle(-80,15)t.right(90)t.pensize(5)# 利用RGB颜色设置气球颜色t.color(red,green,blue)t.begin_fill()t.circle(15)t.end_fill()# 彩灯def light():# 隐藏笔头,ht=hideturtlet.hideturtle()# 利用for循环画100个彩灯for i in range(100):t.penup()# 设置彩灯随机位置x=random.randint(-300,300)y=random.randint(-350,-300)# 设置RGB颜色red=random.randint(100,255)green=random.randint(50,155)blue=random.randint(100,255)# 将画笔移动到随机位置t.goto(x,y)t.pendown()t.pensize(5)t.color(red,green,blue)t.begin_fill()t.circle(10)t.end_fill()# 调用彩灯函数light()# 雪花def drawsnow():# 隐藏笔头,ht=hideturtlet.hideturtle()t.pensize(2)for i in range(200):t.pencolor("white")t.penup()# 设置雪花随机位置坐标x=random.randint(-400,400)y=random.randint(-250,300)# 将画笔移动到随机位置t.goto(x,y)t.pendown()# 雪花花瓣数petal = 6# 设置雪花随机大小snowsize = random.randint(1, 10)# print(type(snowsize))for j in range(petal):t.forward(snowsize)t.backward(snowsize)# 转动角度t.right(int(360 / petal))# 调用雪花函数drawsnow()# 添加文字t.penup()t.goto(-300,-250)t.color('red')t.pendown()t.write('祝 刘晓云 Merry Christmas!',font=('Mistral',42,'bold italic'))# 防止绘图完成后窗口秒关t.done()

效果如下

最近今天持续发烧,没来得急上传,赶一波末班车嘻嘻