欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

python?turtle庫畫圣誕樹詳細代碼教程

 更新時間:2022年01月25日 09:44:24   作者:藍鯨魚BlueWhale  
這篇文章主要介紹了python?turtle庫畫圣誕樹詳細代碼教程,圣誕節(jié)快到了,下面小編就來利用python?turtle庫畫一顆圣誕樹,?主要成分有圣誕樹的本體、大小蝴蝶結(jié)、星星、圣誕帽和襪子,需要的朋友可以參考一下

首先我們的目標是這樣子的:

那么他有什么成分呢?有圣誕樹的本體、大小蝴蝶結(jié)、星星、圣誕帽和襪子。

首先我們來畫圣誕樹的本體。

1. 圣誕樹的本體

圣誕樹本體是這樣子的:

代碼:

class TreeBackBone():
    def __init__(self):
        pencolor("pink")
        pensize(10)
        self.layer1()
        self.layer2()
        self.layer3()
        self.layer4()
        self.trunk()

    def layer1(self):
        penup()
        hideturtle()
        goto(0, 150)
        showturtle()
        pendown()
        shape(name="classic")
        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)

    def layer2(self):
        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)

    def layer3(self):
        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)

    def layer4(self):
        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)

    def trunk(self):
        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)
        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. 蝴蝶結(jié)

接下來讓我們繪制作為裝飾的小蝴蝶結(jié),每個蝴蝶結(jié)長這個亞子~

代碼:

def basebowknot(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. 星星

接下來我們繪制閃閃發(fā)光的小星星,長這個亞子~

代碼:

def star(x, y, size):
    pensize(2)
    pencolor("black")
    penup()
    goto(x, y)
    pendown()
    begin_fill()
    fillcolor("yellow")
    for i in range(5):
        left(72)
        fd(size)
        right(144)
        fd(size)
    end_fill()


4. 圣誕帽

接下來我們繪制灰常具有節(jié)日氣息的圣誕帽,長這個亞子~

代碼:

def christmashats(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()
        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("black")

5. 圣誕襪

最后是用來裝圣誕老人禮物的圣誕襪喲~

代碼:

def socks(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. 最后奉上完整代碼

from turtle import *
import time

class TreeBackBone():
    def __init__(self):
        pencolor("Green")
        pensize(10)
        self.layer1()
        self.layer2()
        self.layer3()
        self.layer4()
        self.trunk()

    def layer1(self):
        penup()
        hideturtle()
        goto(0, 150)
        showturtle()
        pendown()
        shape(name="classic")
        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)

    def layer2(self):
        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)

    def layer3(self):
        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)

    def layer4(self):
        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)

    def trunk(self):
        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)
        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")


class ChristmasTree():
    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("Merry Christmas ", align="center", font=("Comic Sans MS", 24, "bold"))
        done()

    def small_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)

    def big_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()

    def christmashats(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()
        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("black")

    def stars(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)

    def socks(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()


def basebowknot(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 right_up(x, y, z):
    penup()
    goto(x, y)
    seth(-z)
    pendown()
    for angel in range(5):
        fd(10)
        right(10)


def right_down(x, y, z):
    penup()
    goto(x, y)
    seth(-z)
    pendown()
    for angel in range(5):
        fd(10)
        left(10)


def clockwise(x, y, z):
    penup()
    goto(x, y)
    seth(-z)
    pendown()
    for angel in range(5):
        fd(6)
        right(10)
    seth(-150)
    fd(20)


def unit(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 red_anticlockwise(x, y, z):
    penup()
    goto(x, y)
    pendown()
    seth(z)
    for po in range(5):
        fd(4)
        left(36)


def pink_anticlockwise(x, y, z):
    penup()
    goto(x, y)
    pencolor("red")
    pendown()
    seth(z)
    for po in range(10):
        fd(4)
        left(18)


def star(x, y, size):
    pensize(2)
    pencolor("black")
    penup()
    goto(x, y)
    pendown()
    begin_fill()
    fillcolor("yellow")
    for i in range(5):
        left(72)
        fd(size)
        right(144)
        fd(size)
    end_fill()


if __name__ == '__main__':
    ChristmasTree()

快拿去送給對象作為圣誕節(jié)的額外驚喜吧~這是屬于我們程序員的浪漫。

到此這篇關(guān)于python turtle庫畫圣誕樹詳細代碼教程的文章就介紹到這了,更多相關(guān)python turtle庫畫圣誕樹內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 基于Python實現(xiàn)一個簡易的數(shù)據(jù)管理系統(tǒng)

    基于Python實現(xiàn)一個簡易的數(shù)據(jù)管理系統(tǒng)

    為了方便的實現(xiàn)記錄數(shù)據(jù)、修改數(shù)據(jù)沒有精力去做一個完整的系統(tǒng)去管理數(shù)據(jù)。因此,在python的控制臺直接實現(xiàn)一個簡易的數(shù)據(jù)管理系統(tǒng),包括數(shù)據(jù)的增刪改查等等。感興趣的可以跟隨小編一起學習一下
    2021-12-12
  • python3爬蟲中多線程進行解鎖操作實例

    python3爬蟲中多線程進行解鎖操作實例

    在本篇文章里小編給大家整理了關(guān)于python3爬蟲中多線程進行解鎖操作實例內(nèi)容,需要的朋友們可以參考下。
    2020-11-11
  • Pandas div()函數(shù)的具體使用

    Pandas div()函數(shù)的具體使用

    本文主要介紹了Pandas div()函數(shù)的具體使用,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2023-03-03
  • python簡單貪吃蛇開發(fā)

    python簡單貪吃蛇開發(fā)

    這篇文章主要為大家詳細介紹了python簡單貪吃蛇開發(fā),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-01-01
  • python3調(diào)用windows dos命令的例子

    python3調(diào)用windows dos命令的例子

    今天小編就為大家分享一篇python3調(diào)用windows dos命令的例子,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-08-08
  • 基于python SMTP實現(xiàn)自動發(fā)送郵件教程解析

    基于python SMTP實現(xiàn)自動發(fā)送郵件教程解析

    這篇文章主要介紹了基于python實現(xiàn)自動發(fā)送郵件教程解析,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-06-06
  • 11個Python3字典內(nèi)置方法大全與示例匯總

    11個Python3字典內(nèi)置方法大全與示例匯總

    這篇文章主要給大家介紹了11個Python3字典內(nèi)置方法大全與示例的相關(guān)資料,文中通過示例代碼介紹的非常詳細,對大家學習或者使用Python具有一定的參考學習價值,需要的朋友們下面來一起學習學習吧
    2019-05-05
  • RuntimeError:CUDA?out?of?memory多種場景下的解決方案

    RuntimeError:CUDA?out?of?memory多種場景下的解決方案

    若遇到RuntimeError:?CUDA?out?of?memory錯誤,通常意味著GPU內(nèi)存不足以處理當前的計算需求,本文就來介紹一下多種場景下的解決方案,具有一定的參考價值,感興趣的可以了解一下
    2024-02-02
  • Python 統(tǒng)計數(shù)據(jù)集標簽的類別及數(shù)目操作

    Python 統(tǒng)計數(shù)據(jù)集標簽的類別及數(shù)目操作

    這篇文章主要介紹了Python 統(tǒng)計數(shù)據(jù)集標簽的類別及數(shù)目操作,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-05-05
  • 利用Python繪制好看的玫瑰花圖

    利用Python繪制好看的玫瑰花圖

    玫瑰花圖是節(jié)理統(tǒng)計方式之一,方法簡便,形象醒目,比較清楚地反映出主要節(jié)理的方向,有助于分析區(qū)域構(gòu)造。本文將用Python繪制好看的玫瑰花圖,感興趣的可以了解一下
    2022-05-05

最新評論