t.color('snow') # 白
t.pensize(10) #设置画笔大小
t.right(20) #画笔右转20度
t.left(10) #画笔左转10度
t.forward(10) #画笔前进10
t.pendown() #画笔落下
t.penup() #画笔抬起
t.hideturtle() # 隐藏画笔
t.backward(150) #后退150
turtle.Screen().screensize(bg='wheat') # 设置屏幕为wheat小麦颜色
# 画樱花的躯干(60,t)
def tree(branchLen,t):
sleep(0.0005)
if branchLen >3:
if 8<= branchLen <=12:
if random.randint(0,2) == 0:
t.color('snow') # 白
else:
t.color('lightcoral') # 淡珊瑚色
t.pensize(branchLen / 3)
elif branchLen <8:
if random.randint(0,1) == 0:
t.color('snow')
else:
t.color('lightcoral') # 淡珊瑚色
t.pensize(branchLen / 2)
else:
t.color('sienna') # 赭(zhě)色
t.pensize(branchLen / 10) # 6
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.up()
t.backward(branchLen)
t.down()
import turtle
import random
from turtle import *
from time import sleep
# 画樱花的躯干(60,t)
def tree(branchLen,t):
sleep(0.0005)
if branchLen >3:
if 8<= branchLen <=12:
if random.randint(0,2) == 0:
t.color('snow') # 白
else:
t.color('lightcoral') # 淡珊瑚色
t.pensize(branchLen / 3)
elif branchLen <8:
if random.randint(0,1) == 0:
t.color('snow')
else:
t.color('lightcoral') # 淡珊瑚色
t.pensize(branchLen / 2)
else:
t.color('sienna') # 赭(zhě)色
t.pensize(branchLen / 10) # 6
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.up()
t.backward(branchLen)
t.down()
# 绘图区域
t = turtle.Turtle()
# 画布大小
w = turtle.Screen()
t.hideturtle() # 隐藏画笔
getscreen().tracer(5,0)
w.screensize(bg='wheat') # wheat小麦
setheading(0)
up()
color('black')
goto(0, 0)
down()
forward(300)
t.up()
t.goto(-370, -130)
t.down()
t.left(90)
t.up()
t.backward(150)
t.down()
t.color('sienna')
# 画樱花的躯干
tree(60,t)
w.exitonclick()
可以看到在基础版只有樱花树的图上,我们加上了散落在地上的樱花,然后加上了两个爱心、一个名字以及几句诗。
# 掉落的花瓣
def petal(m, t):
for i in range(m):
a = 200 - 400 * random.random()
b = 10 - 20 * random.random()
t.up()
t.forward(b)
t.left(90)
t.forward(a)
t.down()
t.color('lightcoral') # 淡珊瑚色
t.circle(1)
t.up()
t.backward(a)
t.right(90)
t.backward(b)
def name():
color('blue')
pensize(10) #'''写“I”中间部分'''
setheading(0)
go_to(-550,150)
right(68)
forward(300)
pensize(20)
setheading(0) #'''写“I”上下部分'''
go_to(-550,150)
left(22)
forward(10)
setheading(0)
go_to(-550,150)
right(158)
forward(10)
setheading(0) #'''写“I”上下部分'''
go_to(-438,-128)
left(22)
forward(10)
setheading(0)
go_to(-438,-128)
right(158)
forward(10)
pensize(10)
color('pink')
setheading(0) #写LLL部分
go_to(320,0)
left(67)
forward(150)
setheading(0)
go_to(320,0)
right(23)
forward(40)
setheading(0)
go_to(420,-50)
left(67)
forward(150)
setheading(0)
go_to(420,-50)
right(23)
forward(40)
setheading(0)
go_to(520,-100)
left(67)
forward(150)
setheading(0)
go_to(520,-100)
right(23)
forward(40)
color('red', 'red')
def big_Circle(size): #函数用于绘制心的大圆
speed(10)
for i in range(150):
forward(size)
right(0.3)
def small_Circle(size): #函数用于绘制心的小圆
speed(10)
for i in range(210):
forward(size)
right(0.786)
def line(size):
speed(1)
forward(51*size)
def heart( x, y, size):
go_to(x, y)
left(150)
begin_fill()
line(size)
big_Circle(size)
small_Circle(size)
left(120)
small_Circle(size)
big_Circle(size)
line(size)
end_fill()
def arrow():
pensize(10)
setheading(0)
go_to(-400, 0)
left(15)
forward(150)
go_to(339, 178)
forward(150)
def arrowHead():
pensize(1)
speed(5)
color('red', 'red')
begin_fill()
left(120)
forward(20)
right(150)
forward(35)
right(120)
forward(35)
right(150)
forward(20)
end_fill()
import turtle
import random
from turtle import *
from time import sleep
#主体背景
def go_to(x, y):
up()
goto(x, y)
down()
def big_Circle(size): #函数用于绘制心的大圆
speed(10)
for i in range(150):
forward(size)
right(0.3)
def small_Circle(size): #函数用于绘制心的小圆
speed(10)
for i in range(210):
forward(size)
right(0.786)
def line(size):
speed(1)
forward(51*size)
def heart( x, y, size):
go_to(x, y)
left(150)
begin_fill()
line(size)
big_Circle(size)
small_Circle(size)
left(120)
small_Circle(size)
big_Circle(size)
line(size)
end_fill()
def arrow():
pensize(10)
setheading(0)
go_to(-400, 0)
left(15)
forward(150)
go_to(339, 178)
forward(150)
def arrowHead():
pensize(1)
speed(5)
color('red', 'red')
begin_fill()
left(120)
forward(20)
right(150)
forward(35)
right(120)
forward(35)
right(150)
forward(20)
end_fill()
def name():
color('blue')
pensize(10) #'''写“I”中间部分'''
setheading(0)
go_to(-550,150)
right(68)
forward(300)
pensize(20)
setheading(0) #'''写“I”上下部分'''
go_to(-550,150)
left(22)
forward(10)
setheading(0)
go_to(-550,150)
right(158)
forward(10)
setheading(0) #'''写“I”上下部分'''
go_to(-438,-128)
left(22)
forward(10)
setheading(0)
go_to(-438,-128)
right(158)
forward(10)
pensize(10)
color('pink')
setheading(0) #写LLL部分
go_to(320,0)
left(67)
forward(150)
setheading(0)
go_to(320,0)
right(23)
forward(40)
setheading(0)
go_to(420,-50)
left(67)
forward(150)
setheading(0)
go_to(420,-50)
right(23)
forward(40)
setheading(0)
go_to(520,-100)
left(67)
forward(150)
setheading(0)
go_to(520,-100)
right(23)
forward(40)
color('red', 'red')
def main():
Screen()
pensize(2)
color('red', 'pink')
getscreen().tracer(30, 0) #取消注释后,快速显示图案
heart(200, 0, 1) #画出第一颗心,前面两个参数控制心的位置,函数最后一个参数可控制心的大小
setheading(0) #使画笔的方向朝向x轴正方向
heart(-80, -100, 1.5) #画出第二颗心
arrow() #画出穿过两颗心的直线
arrowHead() #画出箭的箭头
name()
color('black')
go_to(-300, -150)
write("吟诵诗千卷,", move=False, align="left", font=("宋体", 30, "normal"))
go_to(-200, -200)
write("才发现最美的诗是你。", move=False, align="left", font=("宋体", 30, "normal"))
color('fuchsia')
go_to(100, -300)
write("From Far Mountain Lovers", move=True, align="left", font=("宋体", 30, "normal"))
#背景
# 画樱花的躯干(60,t)
def tree(branchLen,t):
sleep(0.0005)
if branchLen >3:
if 8<= branchLen <=12:
if random.randint(0,2) == 0:
t.color('snow') # 白
else:
t.color('lightcoral') # 淡珊瑚色
t.pensize(branchLen / 3)
elif branchLen <8:
if random.randint(0,1) == 0:
t.color('snow')
else:
t.color('lightcoral') # 淡珊瑚色
t.pensize(branchLen / 2)
else:
t.color('sienna') # 赭(zhě)色
t.pensize(branchLen / 10) # 6
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.up()
t.backward(branchLen)
t.down()
# 掉落的花瓣
def petal(m, t):
for i in range(m):
a = 200 - 400 * random.random()
b = 10 - 20 * random.random()
t.up()
t.forward(b)
t.left(90)
t.forward(a)
t.down()
t.color('lightcoral') # 淡珊瑚色
t.circle(1)
t.up()
t.backward(a)
t.right(90)
t.backward(b)
def main_1():
# 绘图区域
t = turtle.Turtle()
# 画布大小
w = turtle.Screen()
t.hideturtle() # 隐藏画笔
getscreen().tracer(5,0)
w.screensize(bg='wheat') # wheat小麦
main()
setheading(0)
up()
color('black')
goto(0,0)
down()
forward(300)
t.up()
t.goto(-370,-130)
t.down()
t.left(90)
t.up()
t.backward(150)
t.down()
t.color('sienna')
# 画樱花的躯干
tree(60,t)
# 掉落的花瓣
petal(100, t)
w.exitonclick()
main_1()
过程介绍:首先会播放你预先设置的音乐,然后慢慢进行初始化背景图进行渐变处理,后面然后随机画星星(大家可以在下面的空白处加上自己喜欢的图案或者想说的话,亦或者是诗词)。
def play_music():
file = r'.\music.mp3' # 这里填的是背景音乐的文件路径
pygame.mixer.init()
track = pygame.mixer.music.load(file)
pygame.mixer.music.play(loops=2)
#画渐变色的夜空
def dark_sky():
t.bgcolor('black') #首先设置背景色,为黑色
t.colormode(255)
t.pensize(50) #笔头粗一点,刷上去颜色
for i in range(0,200): #for循环调整画笔位置和颜色,调出渐变效果
red=i
green=i
blue=i
t.color(red,green,blue)#调色
t.up()
y=4*i
t.goto(-500,400-y) #调位置
t.down()
t.forward(1000)
def stars(x,y,left_angle,edge_len): #画一个星星
R = random.randint(0, 255)
G = random.randint(0, 255)
B = random.randint(0, 255)
t.Screen().colormode(255)
t.pencolor(R,G,B)#循环生成RGB颜色
t.fillcolor(R,G,B)
t.begin_fill()
t.speed(0)
t.penup()
t.goto(x,y)
t.begin_fill()
t.pendown()
t.left(left_angle)
for i in range(5):
t.forward(edge_len)
t.right(144)
t.end_fill()
t.left(-left_angle)
def draw_star(): # 重复随机画300个星星
for i in range(300):
x = random.randint(-450, 450)
y = random.randint(0, 400)
edge_len = random.randint(3, 8)
left_angle = random.randint(0, 180)
stars(x, y, left_angle, edge_len)
def main():
play_music() #播放音乐
t.hideturtle()
t.speed(0)
t.screensize(800, 800)
t.hideturtle()
t.speed(0)
dark_sky() #画背景的渐变颜色
t.pensize(1)
t.delay(1)
draw_star() #开始随机画星星
import turtle as t
import random
import pygame
def play_music():
file = r'.\music.mp3' # 这里填的是背景音乐的文件路径
pygame.mixer.init()
track = pygame.mixer.music.load(file)
pygame.mixer.music.play(loops=2)
#画渐变色的夜空
def dark_sky():
t.bgcolor('black') #首先设置背景色,为黑色
t.colormode(255)
t.pensize(50) #笔头粗一点,刷上去颜色
for i in range(0,200): #for循环调整画笔位置和颜色,调出渐变效果
red=i
green=i
blue=i
t.color(red,green,blue)#调色
t.up()
y=4*i
t.goto(-500,400-y) #调位置
t.down()
t.forward(1000)
def stars(x,y,left_angle,edge_len): #画一个星星
R = random.randint(0, 255)
G = random.randint(0, 255)
B = random.randint(0, 255)
t.Screen().colormode(255)
t.pencolor(R,G,B) #循环生成RGB颜色
t.fillcolor(R,G,B)
t.begin_fill()
t.speed(0)
t.penup()
t.goto(x,y)
t.begin_fill()
t.pendown()
t.left(left_angle)
for i in range(5):
t.forward(edge_len)
t.right(144)
t.end_fill()
t.left(-left_angle)
def draw_star(): # 重复随机画300个星星
for i in range(300):
x = random.randint(-450, 450)
y = random.randint(0, 400)
edge_len = random.randint(3, 8)
left_angle = random.randint(0, 180)
stars(x, y, left_angle, edge_len)
def main():
play_music() #播放音乐
t.hideturtle()
t.speed(0)
t.screensize(800, 800)
t.hideturtle()
t.speed(0)
dark_sky() #画背景的渐变颜色
t.pensize(1)
t.delay(1)
draw_star() #开始随机画星星
main() #主函数调用
t.exitonclick()
点我就行