怎么用python turtle库画圣诞树(python,turtle,开发技术)

时间:2024-05-09 08:31:48 作者 : 石家庄SEO 分类 : 开发技术
  • TAG :

首先我们的目标是这样子的:

怎么用python turtle库画圣诞树

那么他有什么成分呢?有圣诞树的本体、大小蝴蝶结、星星、圣诞帽和袜子。

首先我们来画圣诞树的本体。

1. 圣诞树的本体

圣诞树本体是这样子的:

怎么用python turtle库画圣诞树

代码:

classTreeBackBone():def__init__(self):pencolor("pink")pensize(10)self.layer1()self.layer2()self.layer3()self.layer4()self.trunk()deflayer1(self):penup()hideturtle()goto(0,150)showturtle()pendown()shape(name="classic")seth(-120)foriinrange(10):fd(12)right(2)penup()goto(0,150)seth(-60)pendown()foriinrange(10):fd(12)left(2)seth(-150)penup()fd(10)pendown()foriinrange(5):fd(10)right(15)seth(-150)penup()fd(8)pendown()foriinrange(5):fd(10)right(15)seth(-155)penup()fd(5)pendown()foriinrange(5):fd(7)right(15)deflayer2(self):penup()goto(-55,34)pendown()seth(-120)foriinrange(10):fd(8)right(5)penup()goto(50,35)seth(-60)pendown()foriinrange(10):fd(8)left(5)seth(-120)penup()fd(10)seth(-145)pendown()foriinrange(5):fd(10)right(15)penup()fd(10)seth(-145)pendown()foriinrange(5):fd(12)right(15)penup()fd(8)seth(-145)pendown()foriinrange(5):fd(10)right(15)penup()seth(-155)fd(8)pendown()foriinrange(5):fd(11)right(15)deflayer3(self):penup()goto(-100,-40)seth(-120)pendown()foriinrange(10):fd(6)right(3)penup()goto(80,-39)seth(-50)pendown()foriinrange(10):fd(6)left(3)seth(-155)penup()fd(10)pendown()foriinrange(5):fd(8)right(10)penup()fd(8)seth(-145)pendown()foriinrange(7):fd(8)right(10)penup()fd(8)seth(-145)pendown()foriinrange(7):fd(7)right(10)penup()fd(8)seth(-145)pendown()foriinrange(7):fd(7)right(10)penup()fd(8)seth(-140)pendown()foriinrange(7):fd(6)right(10)deflayer4(self):penup()goto(-120,-95)seth(-130)pendown()foriinrange(7):fd(10)right(5)penup()goto(100,-95)seth(-50)pendown()foriinrange(7):fd(10)left(5)penup()seth(-120)fd(10)seth(-155)pendown()foriinrange(6):fd(8)right(10)penup()seth(-160)fd(10)seth(-155)pendown()foriinrange(6):fd(8)right(10)penup()seth(-160)fd(10)seth(-155)pendown()foriinrange(6):fd(8)right(10)penup()seth(-160)fd(10)seth(-160)pendown()foriinrange(6):fd(8)right(10)penup()seth(-160)fd(10)seth(-160)pendown()foriinrange(6):fd(8)right(10)penup()seth(-160)fd(10)seth(-165)pendown()foriinrange(5):fd(10)right(11)deftrunk(self):penup()goto(-70,-165)seth(-85)pendown()foriinrange(3):fd(5)left(3)penup()goto(70,-165)seth(-95)pendown()foriinrange(3):fd(5)right(3)seth(-170)penup()fd(10)pendown()pendown()foriinrange(10):fd(12)right(2)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)right_up(-70,-150,160)right_up(100,-150,160)right_down(110,-110,50)right_up(160,-140,150)clockwise(80,-120,180)right_up(70,-85,165)right_up(-40,-85,165)right_down(90,-50,50)right_up(130,-80,150)pencolor("pink")clockwise(-40,-60,180)pencolor('#de8891')clockwise(80,-30,180)pencolor("pink")clockwise(40,10,180)pencolor("#de8891")right_up(-60,30,120)right_up(-20,-20,150)right_down(45,40,60)right_up(-30,40,170)right_up(-30,110,115)right_down(40,90,60)right_up(80,50,160)pencolor("#de8891")

2. 蝴蝶结

接下来让我们绘制作为装饰的小蝴蝶结,每个蝴蝶结长这个亚子~

怎么用python turtle库画圣诞树

代码:

defbasebowknot(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)

3. 星星

接下来我们绘制闪闪发光的小星星,长这个亚子~

怎么用python turtle库画圣诞树

代码:

defstar(x,y,size):pensize(2)pencolor("black")penup()goto(x,y)pendown()begin_fill()fillcolor("yellow")foriinrange(5):left(72)fd(size)right(144)fd(size)end_fill()

4. 圣诞帽

接下来我们绘制灰常具有节日气息的圣诞帽,长这个亚子~

怎么用python turtle库画圣诞树

代码:

defchristmashats(self):seth(0)pink_anticlockwise(35,145,100)pink_anticlockwise(-7,145,110)pencolor("red")pensize(7)penup()goto(-35,135)pendown()seth(-20)pensize(2)penup()goto(-30,-120)pencolor("black")pendown()fillcolor("red")fd(30)circle(4,180)fd(30)circle(4,180)penup()goto(-25,-115)seth(75)pendown()begin_fill()foriinrange(5):fd(6)right(20)seth(-10)foriinrange(5):fd(8)right(15)seth(145)foriinrange(5):fd(5)left(2)seth(90)foriinrange(5):fd(1)left(2)seth(-90)foriinrange(4):fd(4)right(6)seth(161)fd(30)end_fill()pensize(1)pencolor("black")

5. 圣诞袜

最后是用来装圣诞老人礼物的圣诞袜哟~

怎么用python turtle库画圣诞树

代码:

defsocks(self):seth(-20)pensize(2)penup()goto(-20,80)pencolor("black")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()

至此,我们的圣诞树就全部画完啦!

6. 最后奉上完整代码

fromturtleimport*importtimeclassTreeBackBone():def__init__(self):pencolor("Green")pensize(10)self.layer1()self.layer2()self.layer3()self.layer4()self.trunk()deflayer1(self):penup()hideturtle()goto(0,150)showturtle()pendown()shape(name="classic")seth(-120)foriinrange(10):fd(12)right(2)penup()goto(0,150)seth(-60)pendown()foriinrange(10):fd(12)left(2)seth(-150)penup()fd(10)pendown()foriinrange(5):fd(10)right(15)seth(-150)penup()fd(8)pendown()foriinrange(5):fd(10)right(15)seth(-155)penup()fd(5)pendown()foriinrange(5):fd(7)right(15)deflayer2(self):penup()goto(-55,34)pendown()seth(-120)foriinrange(10):fd(8)right(5)penup()goto(50,35)seth(-60)pendown()foriinrange(10):fd(8)left(5)seth(-120)penup()fd(10)seth(-145)pendown()foriinrange(5):fd(10)right(15)penup()fd(10)seth(-145)pendown()foriinrange(5):fd(12)right(15)penup()fd(8)seth(-145)pendown()foriinrange(5):fd(10)right(15)penup()seth(-155)fd(8)pendown()foriinrange(5):fd(11)right(15)deflayer3(self):penup()goto(-100,-40)seth(-120)pendown()foriinrange(10):fd(6)right(3)penup()goto(80,-39)seth(-50)pendown()foriinrange(10):fd(6)left(3)seth(-155)penup()fd(10)pendown()foriinrange(5):fd(8)right(10)penup()fd(8)seth(-145)pendown()foriinrange(7):fd(8)right(10)penup()fd(8)seth(-145)pendown()foriinrange(7):fd(7)right(10)penup()fd(8)seth(-145)pendown()foriinrange(7):fd(7)right(10)penup()fd(8)seth(-140)pendown()foriinrange(7):fd(6)right(10)deflayer4(self):penup()goto(-120,-95)seth(-130)pendown()foriinrange(7):fd(10)right(5)penup()goto(100,-95)seth(-50)pendown()foriinrange(7):fd(10)left(5)penup()seth(-120)fd(10)seth(-155)pendown()foriinrange(6):fd(8)right(10)penup()seth(-160)fd(10)seth(-155)pendown()foriinrange(6):fd(8)right(10)penup()seth(-160)fd(10)seth(-155)pendown()foriinrange(6):fd(8)right(10)penup()seth(-160)fd(10)seth(-160)pendown()foriinrange(6):fd(8)right(10)penup()seth(-160)fd(10)seth(-160)pendown()foriinrange(6):fd(8)right(10)penup()seth(-160)fd(10)seth(-165)pendown()foriinrange(5):fd(10)right(11)deftrunk(self):penup()goto(-70,-165)seth(-85)pendown()foriinrange(3):fd(5)left(3)penup()goto(70,-165)seth(-95)pendown()foriinrange(3):fd(5)right(3)seth(-170)penup()fd(10)pendown()pendown()foriinrange(10):fd(12)right(2)penup()goto(70,-165)pendown()seth(-90)pensize(8)pencolor("DarkSeaGreen")circle(-20,90)penup()goto(30,-185)pendown()seth(-180)pensize(8)pencolor("DarkSeaGreen")fd(40)penup()goto(-5,-170)pendown()seth(-180)pensize(8)pencolor("DarkSeaGreen")fd(35)right_up(-70,-150,160)right_up(100,-150,160)right_down(110,-110,50)right_up(160,-140,150)clockwise(80,-120,180)right_up(70,-85,165)right_up(-40,-85,165)right_down(90,-50,50)right_up(130,-80,150)pencolor("Green")clockwise(-40,-60,180)pencolor('DarkSeaGreen')clockwise(80,-30,180)pencolor("Green")clockwise(40,10,180)pencolor("DarkSeaGreen")right_up(-60,30,120)right_up(-20,-20,150)right_down(45,40,60)right_up(-30,40,170)right_up(-30,110,115)right_down(40,90,60)right_up(80,50,160)pencolor("DarkSeaGreen")classChristmasTree():def__init__(self):setup(500,500,startx=None,starty=None)speed(0)TreeBackBone()pencolor("#de8891")self.small_bowknots()self.big_bowknots()self.christmashats()self.stars()self.socks()penup()seth(0)goto(100,-230)pendown()write("MerryChristmas",align="center",font=("ComicSansMS",24,"bold"))done()defsmall_bowknots(self):seth(0)unit(40,-160)basebowknot(-80,-120)red_anticlockwise(-67,-115,120)red_anticlockwise(-86,-123,150)basebowknot(40,-50)red_anticlockwise(52,-45,130)red_anticlockwise(34,-55,160)seth(0)unit(-20,-60)red_anticlockwise(-4,-60,100)red_anticlockwise(-20,-60,120)basebowknot(-30,20)red_anticlockwise(-15,25,130)red_anticlockwise(-40,20,180)unit(30,70)red_anticlockwise(45,70,100)red_anticlockwise(30,70,120)defbig_bowknots(self):pencolor("red")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("red")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("pink")pendown()defchristmashats(self):seth(0)pink_anticlockwise(35,145,100)pink_anticlockwise(-7,145,110)pencolor("red")pensize(7)penup()goto(-35,135)pendown()seth(-20)pensize(2)penup()goto(-30,-120)pencolor("black")pendown()fillcolor("red")fd(30)circle(4,180)fd(30)circle(4,180)penup()goto(-25,-115)seth(75)pendown()begin_fill()foriinrange(5):fd(6)right(20)seth(-10)foriinrange(5):fd(8)right(15)seth(145)foriinrange(5):fd(5)left(2)seth(90)foriinrange(5):fd(1)left(2)seth(-90)foriinrange(4):fd(4)right(6)seth(161)fd(30)end_fill()pensize(1)pencolor("black")defstars(self):seth(-15)star(-120,-70,10)seth(10)star(100,-20,10)seth(-10)star(10,40,10)seth(30)star(-80,60,10)star(100,-150,10)star(-140,-150,10)star(20,120,10)defsocks(self):seth(-20)pensize(2)penup()goto(-20,80)pencolor("black")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()defbasebowknot(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)defright_up(x,y,z):penup()goto(x,y)seth(-z)pendown()forangelinrange(5):fd(10)right(10)defright_down(x,y,z):penup()goto(x,y)seth(-z)pendown()forangelinrange(5):fd(10)left(10)defclockwise(x,y,z):penup()goto(x,y)seth(-z)pendown()forangelinrange(5):fd(6)right(10)seth(-150)fd(20)defunit(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()defred_anticlockwise(x,y,z):penup()goto(x,y)pendown()seth(z)forpoinrange(5):fd(4)left(36)defpink_anticlockwise(x,y,z):penup()goto(x,y)pencolor("red")pendown()seth(z)forpoinrange(10):fd(4)left(18)defstar(x,y,size):pensize(2)pencolor("black")penup()goto(x,y)pendown()begin_fill()fillcolor("yellow")foriinrange(5):left(72)fd(size)right(144)fd(size)end_fill()if__name__=='__main__':ChristmasTree()
 </div> <div class="zixun-tj-product adv-bottom"></div> </div> </div> <div class="prve-next-news">
本文:怎么用python turtle库画圣诞树的详细内容,希望对您有所帮助,信息来源于网络。
上一篇:.NET6在WebApi中如何使用日志组件log4net下一篇:

2 人围观 / 0 条评论 ↓快速评论↓

(必须)

(必须,保密)

阿狸1 阿狸2 阿狸3 阿狸4 阿狸5 阿狸6 阿狸7 阿狸8 阿狸9 阿狸10 阿狸11 阿狸12 阿狸13 阿狸14 阿狸15 阿狸16 阿狸17 阿狸18