用Python制作圣诞树
作者:互联网
用代码给女朋友制作圣诞树,她一定会感到惊喜
先上图
上代码
一、绿色圣诞树
import turtle as t
from turtle import *
import random as r
import time
t.title("Merry Christmas")
screensize(bg='black')#背景颜色
setup(700, 700, startx=None, starty=None)
speed("fastest")
pencolor("#008500")
pensize(10)
penup()
hideturtle()
goto(0, 150)
showturtle()
pendown()
shape(name="classic")
# 1
seth(-120)
for i in range(10):
fd(12)
right(2)
penup()
goto(0, 150)
seth(-60)
pendown()
for i in range(10):
fd(12)
left(2)
seth(-150)
penup()
fd(10)
pendown()
for i in range(5):
fd(10)
right(15)
seth(-150)
penup()
fd(8)
pendown()
for i in range(5):
fd(10)
right(15)
seth(-155)
penup()
fd(5)
pendown()
for i in range(5):
fd(7)
right(15)
# 2
penup()
goto(-55, 34)
pendown()
seth(-120)
for i in range(10):
fd(8)
right(5)
penup()
goto(50, 35)
seth(-60)
pendown()
for i in range(10):
fd(8)
left(5)
seth(-120)
penup()
fd(10)
seth(-145)
pendown()
for i in range(5):
fd(10)
right(15)
penup()
fd(10)
seth(-145)
pendown()
for i in range(5):
fd(12)
right(15)
penup()
fd(8)
seth(-145)
pendown()
for i in range(5):
fd(10)
right(15)
penup()
seth(-155)
fd(8)
pendown()
for i in range(5):
fd(11)
right(15)
# 3
penup()
goto(-100, -40)
seth(-120)
pendown()
for i in range(10):
fd(6)
right(3)
penup()
goto(80, -39)
seth(-50)
pendown()
for i in range(10):
fd(6)
left(3)
seth(-155)
penup()
fd(10)
pendown()
for i in range(5):
fd(8)
right(10)
penup()
fd(8)
seth(-145)
pendown()
for i in range(7):
fd(8)
right(10)
penup()
fd(8)
seth(-145)
pendown()
for i in range(7):
fd(7)
right(10)
penup()
fd(8)
seth(-145)
pendown()
for i in range(7):
fd(7)
right(10)
penup()
fd(8)
seth(-140)
pendown()
for i in range(7):
fd(6)
right(10)
# 4
penup()
goto(-120, -95)
seth(-130)
pendown()
for i in range(7):
fd(10)
right(5)
penup()
goto(100, -95)
seth(-50)
pendown()
for i in range(7):
fd(10)
left(5)
penup()
seth(-120)
fd(10)
seth(-155)
pendown()
for i in range(6):
fd(8)
right(10)
penup()
seth(-160)
fd(10)
seth(-155)
pendown()
for i in range(6):
fd(8)
right(10)
penup()
seth(-160)
fd(10)
seth(-155)
pendown()
for i in range(6):
fd(8)
right(10)
penup()
seth(-160)
fd(10)
seth(-160)
pendown()
for i in range(6):
fd(8)
right(10)
penup()
seth(-160)
fd(10)
seth(-160)
pendown()
for i in range(6):
fd(8)
right(10)
penup()
seth(-160)
fd(10)
seth(-165)
pendown()
for i in range(5):
fd(10)
right(11)
# 5
penup()
goto(-70, -165)
seth(-85)
pendown()
for i in range(3):
fd(5)
left(3)
penup()
goto(70, -165)
seth(-95)
pendown()
for i in range(3):
fd(5)
right(3)
seth(-170)
penup()
fd(10)
pendown()
pendown()
for i in range(10):
fd(12)
right(2)
# 6
penup()
goto(70, -165)
pendown()
seth(-90)
pensize(8)
pencolor("#00cc00")
circle(-20, 90)
penup()
goto(30, -185)
pendown()
seth(-180)
pensize(8)
pencolor("#00cc00")
fd(40)
penup()
goto(-5, -170)
pendown()
seth(-180)
pensize(8)
pencolor("#00cc00")
fd(35)
def guest(x, y, z):
penup()
goto(x, y)
seth(-z)
pendown()
for angel in range(5):
fd(10)
right(10)
def guet(x, y, z):
penup()
goto(x, y)
seth(-z)
pendown()
for angel in range(5):
fd(10)
left(10)
def qu(x, y, z):
penup()
goto(x, y)
seth(-z)
pendown()
for angel in range(5):
fd(6)
right(10)
seth(-150)
fd(20)
# 树枝
guest(-70, -150, 160)
guest(100, -150, 160)
guet(110, -110, 50)
guest(160, -140, 150)
qu(80, -120, 180)
guest(70, -85, 165)
guest(-40, -85, 165)
guet(90, -50, 50)
guest(130, -80, 150)
pencolor("#00cc00")
qu(-40, -60, 180)
pencolor('#00cc00')
qu(80, -30, 180)
pencolor("#00cc00")
qu(40, 10, 180)
pencolor("#00cc00")
guest(-60, 30, 120)
guest(-20, -20, 150)
guet(45, 40, 60)
guest(-30, 40, 170)
guest(-30, 110, 115)
guet(40, 90, 60)
guest(80, 50, 160)
pencolor("red")
def hdj(x, y):
penup()
goto(x, y)
seth(80)
pendown()
pensize(2)
circle(5)
seth(10)
fd(15)
seth(120)
fd(20)
seth(240)
fd(20)
seth(180)
fd(20)
seth(-60)
fd(20)
seth(50)
fd(20)
seth(-40)
fd(30)
seth(-130)
fd(5)
seth(135)
fd(30)
seth(-60)
fd(30)
seth(-150)
fd(6)
seth(110)
fd(30)
def uit(x, y):
penup()
goto(x, y)
pendown()
pensize(2)
circle(5)
seth(-10)
fd(15)
seth(90)
fd(15)
seth(200)
fd(15)
seth(160)
fd(15)
seth(-90)
fd(15)
seth(10)
fd(15)
seth(-60)
fd(20)
seth(-180)
fd(5)
seth(110)
fd(20)
seth(-90)
fd(20)
seth(-180)
fd(6)
seth(70)
fd(15)
hideturtle()
def yut(x, y, z):
penup()
goto(x, y)
pendown()
seth(z)
for po in range(5):
fd(4)
left(36)
def ytu(x, y, z):
penup()
goto(x, y)
pendown()
seth(z)
for kk in range(5):
fd(4)
left(36)
# 小蝴蝶结
seth(0)
uit(40, -160)
hdj(-80, -120)
yut(-67, -115, 120)
yut(-86, -123, 150)
hdj(40, -50)
yut(52, -45, 130)
yut(34, -55, 160)
seth(0)
pencolor("pink")
uit(-20, -60)
ytu(-4, -60, 100)
ytu(-20, -60, 120)
hdj(-30, 20)
yut(-15, 25, 130)
yut(-40, 20, 180)
uit(30, 70)
ytu(45, 70, 100)
ytu(30, 70, 120)
# 大蝴蝶结
pencolor("yellow")
pensize(5)
penup()
seth(0)
goto(0, 150)
pendown()
circle(10)
seth(-15)
fd(40)
seth(90)
fd(40)
seth(200)
fd(40)
seth(160)
fd(40)
seth(-90)
fd(40)
seth(15)
fd(40)
seth(-70)
pencolor("yellow")
pensize(4)
fd(40)
seth(-180)
fd(10)
seth(100)
fd(40)
seth(-100)
fd(40)
seth(-180)
fd(10)
seth(70)
fd(40)
penup()
seth(0)
goto(0, 130)
pencolor("yellow")
pendown()
def iou(x, y, z):
penup()
goto(x, y)
pencolor("yellow")
pendown()
seth(z)
for po in range(10):
fd(4)
left(18)
seth(0)
iou(35, 145, 100)
iou(-7, 145, 110)
pencolor("red")
pensize(7)
penup()
goto(-35, 135)
pendown()
# 圣诞帽
seth(-20)
pensize(2)
penup()
goto(-30, -120)
pencolor("white")
pendown()
fillcolor("red")
fd(30)
circle(4, 180)
fd(30)
circle(4, 180)
penup()
goto(-25, -115)
seth(75)
pendown()
begin_fill()
for i in range(5):
fd(6)
right(20)
seth(-10)
for i in range(5):
fd(8)
right(15)
seth(145)
for i in range(5):
fd(5)
left(2)
seth(90)
for i in range(5):
fd(1)
left(2)
seth(-90)
for i in range(4):
fd(4)
right(6)
seth(161)
fd(30)
end_fill()
pensize(1)
pencolor("white")
def koc(x, y, size):
pensize(2)
pencolor("yellow")
penup()
goto(x, y)
pendown()
begin_fill()
fillcolor("yellow")
for i in range(5):
left(72)
fd(size)
right(144)
fd(size)
end_fill()
# 星星
seth(-15)
koc(-120, -70, 10)
seth(10)
koc(100, -20, 10)
seth(-10)
koc(10, 40, 10)
seth(30)
koc(-80, 60, 10)
koc(100, -150, 10)
koc(-140, -150, 10)
koc(20, 120, 10)
# 袜子
seth(-20)
pensize(2)
penup()
goto(-20, 80)
pencolor("white")
pendown()
fillcolor("red")
fd(25)
circle(4, 180)
fd(25)
circle(4, 180)
penup()
goto(-15, 80)
pendown()
begin_fill()
fillcolor("red")
seth(-120)
fd(20)
seth(150)
fd(5)
circle(7, 180)
fd(15)
circle(5, 90)
fd(30)
seth(160)
fd(18)
end_fill()
penup()
seth(0)
goto(100, -230)
pendown()
pencolor("yellow")
write("Merry Christmas To You ", align="center", font=("Comic Sans MS", 24, "bold"))
def drawsnow():
t.ht() # 隐藏笔头
t.pensize(2)
for i in range(70):
t.pencolor("white")
t.pu() # 提笔
t.setx(r.randint(-350, 350))
t.sety(r.randint(-80, 350))
t.pd() # 落笔
dens = 6 # 雪花瓣数设为6
snowsize = r.randint(1, 10)
for j in range(dens):
t.fd(int(snowsize))
t.backward(int(snowsize))
t.right(int(360 / dens)) # 转动角度
drawsnow()
done()
二、粉色圣诞树
import turtle as t
from turtle import *
import random as r
import time
t.title("Merry Christmas")
screensize(bg='black')#背景颜色
setup(700, 700, startx=None, starty=None)
speed("fastest")
pencolor("pink")
pensize(10)
penup()
hideturtle()
goto(0, 150)
showturtle()
pendown()
shape(name="classic")
# 1
seth(-120)
for i in range(10):
fd(12)
right(2)
penup()
goto(0, 150)
seth(-60)
pendown()
for i in range(10):
fd(12)
left(2)
seth(-150)
penup()
fd(10)
pendown()
for i in range(5):
fd(10)
right(15)
seth(-150)
penup()
fd(8)
pendown()
for i in range(5):
fd(10)
right(15)
seth(-155)
penup()
fd(5)
pendown()
for i in range(5):
fd(7)
right(15)
# 2
penup()
goto(-55, 34)
pendown()
seth(-120)
for i in range(10):
fd(8)
right(5)
penup()
goto(50, 35)
seth(-60)
pendown()
for i in range(10):
fd(8)
left(5)
seth(-120)
penup()
fd(10)
seth(-145)
pendown()
for i in range(5):
fd(10)
right(15)
penup()
fd(10)
seth(-145)
pendown()
for i in range(5):
fd(12)
right(15)
penup()
fd(8)
seth(-145)
pendown()
for i in range(5):
fd(10)
right(15)
penup()
seth(-155)
fd(8)
pendown()
for i in range(5):
fd(11)
right(15)
# 3
penup()
goto(-100, -40)
seth(-120)
pendown()
for i in range(10):
fd(6)
right(3)
penup()
goto(80, -39)
seth(-50)
pendown()
for i in range(10):
fd(6)
left(3)
seth(-155)
penup()
fd(10)
pendown()
for i in range(5):
fd(8)
right(10)
penup()
fd(8)
seth(-145)
pendown()
for i in range(7):
fd(8)
right(10)
penup()
fd(8)
seth(-145)
pendown()
for i in range(7):
fd(7)
right(10)
penup()
fd(8)
seth(-145)
pendown()
for i in range(7):
fd(7)
right(10)
penup()
fd(8)
seth(-140)
pendown()
for i in range(7):
fd(6)
right(10)
# 4
penup()
goto(-120, -95)
seth(-130)
pendown()
for i in range(7):
fd(10)
right(5)
penup()
goto(100, -95)
seth(-50)
pendown()
for i in range(7):
fd(10)
left(5)
penup()
seth(-120)
fd(10)
seth(-155)
pendown()
for i in range(6):
fd(8)
right(10)
penup()
seth(-160)
fd(10)
seth(-155)
pendown()
for i in range(6):
fd(8)
right(10)
penup()
seth(-160)
fd(10)
seth(-155)
pendown()
for i in range(6):
fd(8)
right(10)
penup()
seth(-160)
fd(10)
seth(-160)
pendown()
for i in range(6):
fd(8)
right(10)
penup()
seth(-160)
fd(10)
seth(-160)
pendown()
for i in range(6):
fd(8)
right(10)
penup()
seth(-160)
fd(10)
seth(-165)
pendown()
for i in range(5):
fd(10)
right(11)
# 5
penup()
goto(-70, -165)
seth(-85)
pendown()
for i in range(3):
fd(5)
left(3)
penup()
goto(70, -165)
seth(-95)
pendown()
for i in range(3):
fd(5)
right(3)
seth(-170)
penup()
fd(10)
pendown()
pendown()
for i in range(10):
fd(12)
right(2)
# 6
penup()
goto(70, -165)
pendown()
seth(-90)
pensize(8)
pencolor("#de8891")
circle(-20, 90)
penup()
goto(30, -185)
pendown()
seth(-180)
pensize(8)
pencolor("#de8891")
fd(40)
penup()
goto(-5, -170)
pendown()
seth(-180)
pensize(8)
pencolor("#de8891")
fd(35)
def guest(x, y, z):
penup()
goto(x, y)
seth(-z)
pendown()
for angel in range(5):
fd(10)
right(10)
def guet(x, y, z):
penup()
goto(x, y)
seth(-z)
pendown()
for angel in range(5):
fd(10)
left(10)
def qu(x, y, z):
penup()
goto(x, y)
seth(-z)
pendown()
for angel in range(5):
fd(6)
right(10)
seth(-150)
fd(20)
# 树枝
guest(-70, -150, 160)
guest(100, -150, 160)
guet(110, -110, 50)
guest(160, -140, 150)
qu(80, -120, 180)
guest(70, -85, 165)
guest(-40, -85, 165)
guet(90, -50, 50)
guest(130, -80, 150)
pencolor("#de8891")
qu(-40, -60, 180)
pencolor('#de8891')
qu(80, -30, 180)
pencolor("#de8891")
qu(40, 10, 180)
pencolor("#de8891")
guest(-60, 30, 120)
guest(-20, -20, 150)
guet(45, 40, 60)
guest(-30, 40, 170)
guest(-30, 110, 115)
guet(40, 90, 60)
guest(80, 50, 160)
pencolor("red")
def hdj(x, y):
penup()
goto(x, y)
seth(80)
pendown()
pensize(2)
circle(5)
seth(10)
fd(15)
seth(120)
fd(20)
seth(240)
fd(20)
seth(180)
fd(20)
seth(-60)
fd(20)
seth(50)
fd(20)
seth(-40)
fd(30)
seth(-130)
fd(5)
seth(135)
fd(30)
seth(-60)
fd(30)
seth(-150)
fd(6)
seth(110)
fd(30)
def uit(x, y):
penup()
goto(x, y)
pendown()
pensize(2)
circle(5)
seth(-10)
fd(15)
seth(90)
fd(15)
seth(200)
fd(15)
seth(160)
fd(15)
seth(-90)
fd(15)
seth(10)
fd(15)
seth(-60)
fd(20)
seth(-180)
fd(5)
seth(110)
fd(20)
seth(-90)
fd(20)
seth(-180)
fd(6)
seth(70)
fd(15)
hideturtle()
def yut(x, y, z):
penup()
goto(x, y)
pendown()
seth(z)
for po in range(5):
fd(4)
left(36)
def ytu(x, y, z):
penup()
goto(x, y)
pendown()
seth(z)
for kk in range(5):
fd(4)
left(36)
# 小蝴蝶结
seth(0)
uit(40, -160)
hdj(-80, -120)
yut(-67, -115, 120)
yut(-86, -123, 150)
hdj(40, -50)
yut(52, -45, 130)
yut(34, -55, 160)
seth(0)
pencolor("pink")
uit(-20, -60)
ytu(-4, -60, 100)
ytu(-20, -60, 120)
hdj(-30, 20)
yut(-15, 25, 130)
yut(-40, 20, 180)
uit(30, 70)
ytu(45, 70, 100)
ytu(30, 70, 120)
# 大蝴蝶结
pencolor("#f799e6")
pensize(5)
penup()
seth(0)
goto(0, 150)
pendown()
circle(10)
seth(-15)
fd(40)
seth(90)
fd(40)
seth(200)
fd(40)
seth(160)
fd(40)
seth(-90)
fd(40)
seth(15)
fd(40)
seth(-70)
pencolor("#f799e6")
pensize(4)
fd(40)
seth(-180)
fd(10)
seth(100)
fd(40)
seth(-100)
fd(40)
seth(-180)
fd(10)
seth(70)
fd(40)
penup()
seth(0)
goto(0, 130)
pencolor("white")
pendown()
def iou(x, y, z):
penup()
goto(x, y)
pencolor("#f799e6")
pendown()
seth(z)
for po in range(10):
fd(4)
left(18)
#圣诞帽
seth(0)
iou(35, 145, 100)
iou(-7, 145, 110)
pencolor("red")
pensize(7)
penup()
goto(-35, 135)
pendown()
# 圣诞帽
seth(-20)
pensize(2)
penup()
goto(-30, -120)
pencolor("white")
pendown()
fillcolor("red")
fd(30)
circle(4, 180)
fd(30)
circle(4, 180)
penup()
goto(-25, -115)
seth(75)
pendown()
begin_fill()
for i in range(5):
fd(6)
right(20)
seth(-10)
for i in range(5):
fd(8)
right(15)
seth(145)
for i in range(5):
fd(5)
left(2)
seth(90)
for i in range(5):
fd(1)
left(2)
seth(-90)
for i in range(4):
fd(4)
right(6)
seth(161)
fd(30)
end_fill()
pensize(1)
pencolor("white")
def koc(x, y, size):
pensize(2)
pencolor("white")
penup()
goto(x, y)
pendown()
begin_fill()
fillcolor("yellow")
for i in range(5):
left(72)
fd(size)
right(144)
fd(size)
end_fill()
# 星星
seth(-15)
koc(-120, -70, 10)
seth(10)
koc(100, -20, 10)
seth(-10)
koc(10, 40, 10)
seth(30)
koc(-80, 60, 10)
koc(100, -150, 10)
koc(-140, -150, 10)
koc(20, 120, 10)
# 袜子
seth(-20)
pensize(2)
penup()
goto(-20, 80)
pencolor("white")
pendown()
fillcolor("red")
fd(25)
circle(4, 180)
fd(25)
circle(4, 180)
penup()
goto(-15, 80)
pendown()
begin_fill()
fillcolor("red")
seth(-120)
fd(20)
seth(150)
fd(5)
circle(7, 180)
fd(15)
circle(5, 90)
fd(30)
seth(160)
fd(18)
end_fill()
penup()
seth(0)
goto(100, -230)
pendown()
pencolor("yellow")
write("祝 妈咪 圣诞节快乐 ", align="center", font=("Comic Sans MS", 24, "bold"))
def drawsnow():
t.ht() # 隐藏笔头
t.pensize(2)
for i in range(70):
t.pencolor("white")
t.pu() # 提笔
t.setx(r.randint(-350, 350))
t.sety(r.randint(-80, 350))
t.pd() # 落笔
dens = 6 # 雪花瓣数设为6
snowsize = r.randint(1, 10)
for j in range(dens):
t.fd(int(snowsize))
t.backward(int(snowsize))
t.right(int(360 / dens)) # 转动角度
drawsnow()
done()
可修改
代码中的笔刷颜色、祝福语、雪花均可修改。
稍后会更新其他样式的圣诞树,你懂得哟(^U^)ノ~YO
如果喜欢,给阿洁点个赞哦!
标签:10,penup,Python,seth,range,pendown,fd,圣诞树,制作 来源: https://blog.csdn.net/m0_53065609/article/details/122141196