溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

Python turtle繪圖的基礎(chǔ)知識點有哪些

發(fā)布時間:2023-04-20 10:45:44 來源:億速云 閱讀:123 作者:iii 欄目:開發(fā)技術(shù)

本篇內(nèi)容主要講解“Python turtle繪圖的基礎(chǔ)知識點有哪些”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學(xué)習(xí)“Python turtle繪圖的基礎(chǔ)知識點有哪些”吧!

    Turtle圖形庫

    Turtle 庫是 Python 內(nèi)置的圖形化模塊,屬于標準庫之一,位于 Python 安裝目錄的 lib 文件夾下,常用函數(shù)有以下幾種:

    一.Turtle繪圖的基礎(chǔ)知識

    畫布是turtle用于繪圖區(qū)域,我們可以設(shè)置它的大小和初始位置。

    1.設(shè)置畫布大小

    turtle.screensize(canvwidth=None, canvheight=None, bg=None),參數(shù)分別對應(yīng)畫布的寬(單位像素), 高, 背景顏色。

    turtle.screensize(1000,800, "blue")
    turtle.screensize() #返回默認大小(500, 400)
    turtle.setup(width=0.5, height=0.75, startx=None, starty=None)

    width, height: 輸入寬和高為整數(shù)時, 表示像素; 為小數(shù)時, 表示占據(jù)電腦屏幕的比例,(startx, starty): 這一坐標表示矩形窗口左上角頂點的位置, 如果為空,則窗口位于屏幕中心。

    2.畫筆的狀態(tài)

    在畫布上,默認有一個坐標原點為畫布中心的坐標軸,坐標原點上有一只面朝x軸正方向小烏龜。這里我們描述小烏龜時使用了兩個詞語:坐標原點(位置),面朝x軸正方向(方向), turtle繪圖中,就是使用位置方向描述小烏龜(畫筆)的狀態(tài)。

    turtle.pensize() # 設(shè)置畫筆的寬度;
    turtle.pencolor()# 沒有參數(shù)傳入,返回當(dāng)前畫筆顏色,傳入?yún)?shù)設(shè)置畫筆顏色,可以是字符串如"green", "red",也可以是RGB 3元組。
    turtle.speed(speed)#設(shè)置畫筆移動速度,畫筆繪制的速度范圍[0,10]整數(shù),數(shù)字越大越快。

    3.使用turtle繪圖主要分為3種命令代碼,分別為運動命令、畫筆控制命令和全局控制命令。

    畫筆運動命令代碼

    • turtle.forward(distance)—向當(dāng)前畫筆方向移動distance像素長度

    • turtle.backward(distance)—向當(dāng)前畫筆相反方向移動distance像素長度

    • turtle.right(degree)—順時針移動degree° turtle.left(degree)—逆時針移動degree°

    • turtle.pendown()—移動時繪制圖形,缺省時也為繪制 turtle.goto(x,y)—將畫筆移動到坐標為x,y的位置

    • turtle.penup()—提起筆移動,不繪制圖形,用于另起一個地方繪制

    • turtle.circle()—畫圓,半徑為正(負),表示圓心在畫筆的左邊(右邊)畫圓 setx( )—將當(dāng)前x軸移動到指定位置

    • sety( )—將當(dāng)前y軸移動到指定位置 setheading(angle)—設(shè)置當(dāng)前朝向為angle角度

    • home()—設(shè)置當(dāng)前畫筆位置為原點,朝向東 dot®—繪制一個指定直徑和顏色的圓點

    畫筆控制命令代碼

    • turtle.fillcolor(colorstring)—繪制圖形的填充顏色 turtle.color(color1,color2)—同時設(shè)置pencolor=color1, fillcolor=color2

    • turtle.filling()—返回當(dāng)前是否在填充狀態(tài) turtle.begin_fill()—準備開始填充圖形

    • turtle.end_fill()—填充完成 turtle.hideturtle()—隱藏畫筆的turtle形狀

    • turtle.showturtle()—顯示畫筆的turtle形狀

    全局控制命令代碼

    • turtle.clear()—清空turtle窗口,但是turtle的位置和狀態(tài)不會改變

    • turtle.reset()—清空窗口,重置turtle狀態(tài)為起始狀態(tài) turtle.undo()—撤銷上一個turtle動作

    • turtle.isvisible()—返回當(dāng)前turtle是否可見 stamp()—復(fù)制當(dāng)前圖形

    • turtle.write(s[,font=(“fontname”,font_size,“font_type”)])—文本,s為文本內(nèi)容,font是字體的參數(shù),分別為字體名稱,大小和類型;font為可選項,font參數(shù)也是可選項

    二.具體實例

    0.櫻花樹

    from turtle import *
    from random import *
    from math import *
    def tree(n, l):
        pd ()  # 下筆
        # 陰影效果
        t = cos ( radians ( heading () + 45 ) ) / 8 + 0.25
        pencolor ( t, t, t )
        pensize ( n / 3 )
        forward ( l )  # 畫樹枝
     
        if n > 0:
            b = random () * 15 + 10  # 右分支偏轉(zhuǎn)角度
            c = random () * 15 + 10  # 左分支偏轉(zhuǎn)角度
            d = l * (random () * 0.25 + 0.7)  # 下一個分支的長度
            # 右轉(zhuǎn)一定角度,畫右分支
            right ( b )
            tree ( n - 1, d )
            # 左轉(zhuǎn)一定角度,畫左分支
            left ( b + c )
            tree ( n - 1, d )
            # 轉(zhuǎn)回來
            right ( c )
        else:
            # 畫葉子
            right ( 90 )
            n = cos ( radians ( heading () - 45 ) ) / 4 + 0.5
            ran = random ()
            # 這里相比于原來隨機添加了填充的圓圈,讓櫻花葉子看起來更多一點
            if (ran > 0.7):
                begin_fill ()
                circle ( 3 )
                fillcolor ( 'pink' )
            # 把原來隨機生成的葉子換成了統(tǒng)一的粉色
            pencolor ( "pink" )
            circle ( 3 )
            if (ran > 0.7):
                end_fill ()
            left ( 90 )
            # 添加0.3倍的飄落葉子
            if (random () > 0.7):
                pu ()
                # 飄落
                t = heading ()
                an = -40 + random () * 40
                setheading ( an )
                dis = int ( 800 * random () * 0.5 + 400 * random () * 0.3 + 200 * random () * 0.2 )
                forward ( dis )
                setheading ( t )
                # 畫葉子
                pd ()
                right ( 90 )
                n = cos ( radians ( heading () - 45 ) ) / 4 + 0.5
                pencolor ( n * 0.5 + 0.5, 0.4 + n * 0.4, 0.4 + n * 0.4 )
                circle ( 2 )
                left ( 90 )
                pu ()
                # 返回
                t = heading ()
                setheading ( an )
                backward ( dis )
                setheading ( t )
        pu ()
        backward ( l )  # 退回
     
     
    bgcolor ( 0.956, 0.9255, 0.9882 )  # 設(shè)置背景色(把灰色換成淡紫色)
    ht ()  # 隱藏turtle
    speed ( 0 )  # 速度 1-10漸進,0 最快
    tracer ( 0, 0 )
    pu ()  # 抬筆
    backward ( 50 )
    left ( 90 )  # 左轉(zhuǎn)90度
    pu ()  # 抬筆
    backward ( 300 )  # 后退300
    tree ( 12, 100 )  # 遞歸7層
    done ()

    1.彩色螺旋線

    from turtle import *
    import turtle
    t = Turtle()
    t.pensize(2)
    turtle.bgcolor("black")
    colors = ["red", "yellow", 'purple', 'blue']
    t._tracer(False)
    for x in range(400):
        for y in range(200):
            t.forward(x * y)
            t.color(colors[x % 4])
            t.left(91)
    t._tracer(True)
    done()

    2.小蟒蛇 

    import turtle
    turtle.penup()
    turtle.pencolor("blue")
    turtle.forward(-200)
    turtle.pendown()
    turtle.pensize(10)
    turtle.right(45)
    for i in range(4):
        turtle.circle(40, 100)
        turtle.circle(-40, 60)
    turtle.circle(40, 80 / 2)
    turtle.fd(30)
    turtle.circle(16, 150)
    turtle.fd(100)
    turtle.done()

    3.畫佩奇

     import time
    import turtle as t
     
    t.pensize(4) # 設(shè)置畫筆的大小
    t.colormode(255) # 設(shè)置GBK顏色范圍為0-255
    t.color((255,155,192),"pink") # 設(shè)置畫筆顏色和填充顏色(pink)
    t.setup(840,500) # 設(shè)置主窗口的大小為840*500
    t.speed(10) # 設(shè)置畫筆速度為10
    #鼻子
    t.pu() # 提筆
    t.goto(-100,100) # 畫筆前往F坐標(-100,100)
    t.pd() # 下筆
    t.seth(-30) # 筆的角度為-30°
    t.begin_fill() # 外形填充的開始標志
    a=0.4
    for i in range(120):
        if 0 <= i < 30 or 60 <= i < 90:
            a=a+0.08
            t.lt(3) #向左轉(zhuǎn)3度
            t.fd(a) #向前走a的步長
        else:
            a=a-0.08
            t.lt(3)
            t.fd(a)
    t.end_fill() # 依據(jù)輪廓填充
    t.pu() # 提筆
    t.seth(90) # 筆的角度為90度
    t.fd(25) # 向前移動25
    t.seth(0) # 轉(zhuǎn)換畫筆的角度為0
    t.fd(10)
    t.pd()
    t.pencolor(255,155,192) # 設(shè)置畫筆顏色
    t.seth(10)
    t.begin_fill()
    t.circle(5) # 畫一個半徑為5的圓
    t.color(160,82,45) # 設(shè)置畫筆和填充顏色
    t.end_fill()
    t.pu()
    t.seth(0)
    t.fd(20)
    t.pd()
    t.pencolor(255,155,192)
    t.seth(10)
    t.begin_fill()
    t.circle(5)
    t.color(160,82,45)
    t.end_fill()
    #頭
    t.color((255,155,192),"pink")
    t.pu()
    t.seth(90)
    t.fd(41)
    t.seth(0)
    t.fd(0)
    t.pd()
    t.begin_fill()
    t.seth(180)
    t.circle(300,-30) # 順時針畫一個半徑為300,圓心角為30°的園
    t.circle(100,-60)
    t.circle(80,-100)
    t.circle(150,-20)
    t.circle(60,-95)
    t.seth(161)
    t.circle(-300,15)
    t.pu()
    t.goto(-100,100)
    t.pd()
    t.seth(-30)
    a=0.4
    for i in range(60):
        if 0<=i<30 or 60<=i<90:
            a=a+0.08
            t.lt(3) #向左轉(zhuǎn)3度
            t.fd(a) #向前走a的步長
        else:
            a=a-0.08
            t.lt(3)
            t.fd(a)
            t.end_fill()
    #耳朵
    t.color((255,155,192),"pink")
    t.pu()
    t.seth(90)
    t.fd(-7)
    t.seth(0)
    t.fd(70)
    t.pd()
    t.begin_fill()
    t.seth(100)
    t.circle(-50,50)
    t.circle(-10,120)
    t.circle(-50,54)
    t.end_fill()
    t.pu()
    t.seth(90)
    t.fd(-12)
    t.seth(0)
    t.fd(30)
    t.pd()
    t.begin_fill()
    t.seth(100)
    t.circle(-50,50)
    t.circle(-10,120)
    t.circle(-50,56)
    t.end_fill()
    #眼睛
    t.color((255,155,192),"white")
    t.pu()
    t.seth(90)
    t.fd(-20)
    t.seth(0)
    t.fd(-95)
    t.pd()
    t.begin_fill()
    t.circle(15)
    t.end_fill()
    t.color("black")
    t.pu()
    t.seth(90)
    t.fd(12)
    t.seth(0)
    t.fd(-3)
    t.pd()
    t.begin_fill()
    t.circle(3)
    t.end_fill()
    t.color((255,155,192),"white")
    t.pu()
    t.seth(90)
    t.fd(-25)
    t.seth(0)
    t.fd(40)
    t.pd()
    t.begin_fill()
    t.circle(15)
    t.end_fill()
    t.color("black")
    t.pu()
    t.seth(90)
    t.fd(12)
    t.seth(0)
    t.fd(-3)
    t.pd()
    t.begin_fill()
    t.circle(3)
    t.end_fill()
    #腮
    t.color((255,155,192))
    t.pu()
    t.seth(90)
    t.fd(-95)
    t.seth(0)
    t.fd(65)
    t.pd()
    t.begin_fill()
    t.circle(30)
    t.end_fill()
    #嘴
    t.color(239,69,19)
    t.pu()
    t.seth(90)
    t.fd(15)
    t.seth(0)
    t.fd(-100)
    t.pd()
    t.seth(-80)
    t.circle(30,40)
    t.circle(40,80)
    #身體
    t.color("red",(255,99,71))
    t.pu()
    t.seth(90)
    t.fd(-20)
    t.seth(0)
    t.fd(-78)
    t.pd()
    t.begin_fill()
    t.seth(-130)
    t.circle(100,10)
    t.circle(300,30)
    t.seth(0)
    t.fd(230)
    t.seth(90)
    t.circle(300,30)
    t.circle(100,3)
    t.color((255,155,192),(255,100,100))
    t.seth(-135)
    t.circle(-80,63)
    t.circle(-150,24)
    t.end_fill()
    #手
    t.color((255,155,192))
    t.pu()
    t.seth(90)
    t.fd(-40)
    t.seth(0)
    t.fd(-27)
    t.pd()
    t.seth(-160)
    t.circle(300,15)
    t.pu()
    t.seth(90)
    t.fd(15)
    t.seth(0)
    t.fd(0)
    t.pd()
    t.seth(-10)
    t.circle(-20,90)
    t.pu()
    t.seth(90)
    t.fd(30)
    t.seth(0)
    t.fd(237)
    t.pd()
    t.seth(-20)
    t.circle(-300,15)
    t.pu()
    t.seth(90)
    t.fd(20)
    t.seth(0)
    t.fd(0)
    t.pd()
    t.seth(-170)
    t.circle(20,90)
    #腳
    t.pensize(10)
    t.color((240,128,128))
    t.pu()
    t.seth(90)
    t.fd(-75)
    t.seth(0)
    t.fd(-180)
    t.pd()
    t.seth(-90)
    t.fd(40)
    t.seth(-180)
    t.color("black")
    t.pensize(15)
    t.fd(20)
    t.pensize(10)
    t.color((240,128,128))
    t.pu()
    t.seth(90)
    t.fd(40)
    t.seth(0)
    t.fd(90)
    t.pd()
    t.seth(-90)
    t.fd(40)
    t.seth(-180)
    t.color("black")
    t.pensize(15)
    t.fd(20)
    # 尾巴
    t.pensize(4)
    t.color((255,155,192))
    t.pu()
    t.seth(90)
    t.fd(70)
    t.seth(0)
    t.fd(95)
    t.pd()
    t.seth(0)
    t.circle(70,20)
    t.circle(10,330)
    t.circle(70,30)

    4.風(fēng)和日麗圖

    # coding=utf-8
    # code by me
     
    # 引用海龜庫以及隨機庫
    import turtle as t
    import random
    import time
     
    light = t.Turtle(visible=False)
    wind = t.Turtle(visible=False)
     
    def canvas(size_x=1200, size_y=900):  # 設(shè)置畫布,有默認值
        t.setup(size_x, size_y)
     
    # 設(shè)置線的顏色以及size
    def pencil(size=5, color="black"):
        t.pensize(size)
        t.pencolor(color)
     
    def sun():  # 繪制太陽
        light.pensize(5)
        light.pencolor("black")
        sec = int(time.time())
        t.penup()  # 畫紅色點
        t.goto(-530, 310)
        t.pendown()
        t.dot(100, "red")
        for i in range(1, 19):  # 陽光效果
            light.penup()
            light.goto(-530, 310)
            light.seth(i * 20)
            light.forward(55)
            light.pendown()
            if (i + sec) % 2 == 1:
                light.forward(15)
            else:
                light.forward(7)
     
     
    def plant():  # 繪制天空以及大地
        t.penup()  # 每個繪制函數(shù)開頭都寫了這個,防止龜龜繪制另外的圖像移動時留下痕跡
        length = 900 * 0.318  # 將畫布的縱向黃金分割
        t.home()
        t.goto(600, -450)
     
        t.fillcolor("#DAA520")  # 分割填充大地
        t.begin_fill()
        t.left(90)
        t.forward(length)
        t.left(90)
        t.forward(1200)
        t.left(90)
        t.forward(length)
        t.left(90)
        t.forward(1200)
        t.end_fill()
     
        t.home()  # 填充天空
        t.goto(600, length - 450)
        t.fillcolor("#B0C4DE")
        t.begin_fill()
        t.left(90)
        t.forward(900 - length)
        t.left(90)
        t.forward(1200)
        t.left(90)
        t.forward(900 - length)
        t.left(90)
        t.forward(1200)
        t.end_fill()
     
     
    def butterfly(pos_x=0, pos_y=0):  # 繪制蝴蝶,這里會隨機生成位置以及蝴蝶大小、顏色
        light.penup()
        light.goto(pos_x, pos_y)
        light.pendown()
        light.pensize(2)
        light.seth(45)
     
        color = ["#FF00FF", "#87CEFA", "#0000EE", "#FF4500", "#00FF00", "#00E5EE", "#FFFAFA"]  # 一個顏色表,以及size表
        size = [6, 7, 8, 9, 10, 11, 12]
        tep_size = random.choice(size)
        light.fillcolor(random.choice(color))
        light.begin_fill()
        light.circle(tep_size, 270)  # 繪制翅膀
        light.right(135)
     
        light.pensize(3)
        light.forward(tep_size / 2)
        light.right(45)
        light.forward(tep_size / 2)
        light.back(tep_size / 2)
        light.left(70)
        light.forward(tep_size / 2)
        light.back(tep_size / 2)
        light.right(25)
        light.pensize(4)
        light.back(2.05 * tep_size)
     
        light.seth(-90)
        light.pensize(2)
        light.circle(tep_size, -180)
        light.pensize(4)
        light.left(90)
        light.forward(tep_size * 2)
        light.back(tep_size * 2.5)
        light.end_fill()
     
    def botany(pos_x=0, pos_y=0, direction=0, flower=1, bend=10):  # 植物函數(shù),繪制向日葵,向日葵會迎風(fēng)倒,效果很到位
        light.pensize(3)
        light.pencolor("black")
        light.penup()
        light.goto(pos_x, pos_y)
        light.pendown()
        light.left(90)
        light.fillcolor("#00CD00")
        light.begin_fill()
     
        light.circle(50, 90)  # 繪制葉片
        light.left(90)
        light.circle(50, 90)
     
        light.penup()
        light.goto(pos_x, pos_y)
        light.pendown()
     
        light.seth(-90)
        light.pensize(6)
        light.forward(50)
        light.back(50)
     
        light.pensize(3)
        light.circle(50, -90)
        light.right(90)
        light.circle(50, -90)
        light.end_fill()
        if flower:  # 判斷是否有花,這里默認有花
            light.penup()
            light.goto(pos_x, pos_y)
            light.pendown()
            light.pensize(4)
            if direction:
                light.seth(80)  # 繪制稈
                light.circle(130 - 5 * bend, 70 + 5 * bend, None)
            else:
                light.seth(-80)
                light.circle(130 - 5 * bend, -70 - 5 * bend, None)
                light.right(180)
            tep_x, tep_y = light.xcor(), light.ycor()
            light.forward(13)
            light.right(30)
            for i in range(6):  # 繪制花瓣
                light.fillcolor("#FFD700")
                light.begin_fill()
                light.circle(15, 300)
                light.left(120)
                light.end_fill()
            light.goto(tep_x, tep_y)
            light.dot(36, "#FFB90F")
     
    def cloud(pos_x=0, pos_y=0, size=20):  # 繪制云
        pos = int(time.time())
        pos %= 50
        light.penup()  # 云沒有要邊框,所以沒有pendown
        light.goto(pos*8+pos_x, pos_y)
     
        light.fillcolor("#E6E6FA")
        light.begin_fill()
        light.seth(-80)
        light.circle(size, 110)
        for i in range(1, 6):  # 繪制下半部分
            light.right(100)
            light.circle(size, 110)
        light.left(120)
        for i in range(1, 7):  # 繪制上半部分,上邊進行了六次循環(huán),但是之前就進行了一次繪制,這里有七次循環(huán)
            light.right(100)
            light.circle(size, 110)
        light.end_fill()
     
    # def draw(x, y):                               # 這里是之前調(diào)試用的拖拽函數(shù)響應(yīng)函數(shù),不需使用
    #     t.goto(x, y)
    #     print(t.xcor(), t.ycor())
     
     
    # def person(pos_x=0, pos_y=0):                 # 繪制人的函數(shù),效果很拉跨,舍棄
    #     t.penup()
    #     t.goto(pos_x, pos_y)
    #     t.pendown()
    #
    #     t.dot(44, "#FFDEAD")
    #     t.right(90)
    #     t.penup()
    #     t.forward(25)
    #     t.right(15)
    #     t.pendown()
    #     pencil(10)
    #     t.forward(50)
    #
    #     t.right(35)
    #     t.forward(50)
    #     t.back(50)
    #     t.left(90)
    #     t.forward(27)
    #     t.right(110)
    #     t.forward(23)
    #
    #     t.penup()
    #     t.goto(pos_x, pos_y)
    #     t.seth(-90)
    #     t.forward(25)
    #     t.right(15)
    #     t.forward(20)
    #     t.right(60)
    #     t.pendown()
    #     t.forward(50)
    #     tep_x1, tep_y1 = t.xcor(), t.ycor()
    #     t.back(50)
    #     t.right(160)
    #     t.forward(30)
    #     t.seth(90)
    #     t.forward(20)
    #
    #     t.penup()
    #     t.goto(tep_x1, tep_y1)
    #     t.seth(-145)
    #     pencil(6)
    #     t.pendown()
    #     t.forward(50)
    #     t.right(90)
    #     t.forward(20)
    #     t.right(90)
    #     t.forward(15)
    #     t.right(90)
    #     t.forward(20)
    #     t.left(90)
    #     t.forward(150)
     
    def star(pos_x=0, pos_y=0, size=10):  # 繪制星星函數(shù)
        color = ["#FFFFE0", "#FFFF00"]
        light.penup()
        light.goto(pos_x, pos_y)
        angle = random.randint(0, 180)
        light.seth(angle)
        light.fillcolor(random.choice(color))
        light.begin_fill()
        for i in range(5):  # 這個144度是查的資料
            light.right(144)
            light.forward(size)
        light.end_fill()
     
     
    def wind():  # 風(fēng)函數(shù),讓圖像看起來更有感覺,就是一條直線,加兩個圓
        pos = int(time.time())
        pos %= 5
        color = ["#D3D3D3", "#CDCDB4"]
        tep_color = random.choice(color)
        light.penup()
        light.goto(pos*80-1000, 50)
        light.seth(0)
        light.pendown()
        light.pensize(5)
        light.pencolor(tep_color)
        light.forward(500)
        light.pensize(4)
        light.pencolor(tep_color)
        light.left(45)
        light.circle(50, 180)
        light.pensize(3)
        light.pencolor(tep_color)
        light.circle(30, 90)
     
        tep_color = random.choice(color)
        light.penup()  # 畫圈圈
        light.goto(pos*140-1040, 80)
        light.seth(0)
        light.pendown()
        light.pensize(5)
        light.pencolor(tep_color)
        light.forward(400)
        light.pensize(4)
        light.pencolor(tep_color)
        light.left(45)
        light.circle(40, 180)
        light.pensize(3)
        light.pencolor(tep_color)
        light.circle(25, 90)
     
     
    def lie():  # 這個函數(shù)是表達我對python的喜愛
        t.penup()
        t.goto(0, -360)
        pencil(0, "#FFA54F")
        t.write("節(jié)日快樂", align='center', font=('arial', 75, 'normal'))
        t.hideturtle()
     
     
    def dynamic():
        light.clear()
        sun()
        star(200, 200)  # 右上角有星星注意觀察 0.0
        star(260, 230, 15)
        star(180, 300)
        star(300, 100, 15)
        star(500, 290)
        star(420, 310, 15)
        star(300, 200)
        star(260, 230, 15)
        star(350, 352)
        star(500, 180, 15)
        star(560, 352)
        cloud(-530, 280, 20)
        cloud(300, 250, 30)
        wind()
     
        bend = int(time.time())
        bend %= 5
        bend += 14
        light.seth(-100-bend)  # 初始向日葵葉片角度
        for i in range(14):  # 生成向日葵
     
            if i % 2 == 0:
                botany(-520 + i * 50, -132, 0, 1, bend - i)
                botany(-340 + i * 50, -132, 0, 1, bend - i)
            else:
                botany(-430 + i * 50, -142, 0, 1, bend - i)
                botany(-230 + i * 50, -142, 0, 1, bend - i)
        pos_x = [45, -96, -100, 410, 300, 580, 230, -50, -400, -320, -212]
        pos_y = [45, -96, -100, 0, 20, 30, 29, -50, -20, -43, 10]
        for i in range(6):  # 生成蝴蝶,這里便于觀察到結(jié)果,蝴蝶有點大
            butterfly(random.choice(pos_x), random.choice(pos_y))
        t.ontimer(dynamic, 1000)
     
    def piant():  # 這里是將繪制全放在這個函數(shù)里,讓main看起來簡潔
        t.tracer(False)
        t.delay(0)
        canvas()
        pencil()
        plant()
        lie()
        dynamic()
     
     
    if __name__ == "__main__":
        piant()
        # t.ondrag(draw, btn=1, add=None)
        t.mainloop()

    到此,相信大家對“Python turtle繪圖的基礎(chǔ)知識點有哪些”有了更深的了解,不妨來實際操作一番吧!這里是億速云網(wǎng)站,更多相關(guān)內(nèi)容可以進入相關(guān)頻道進行查詢,關(guān)注我們,繼續(xù)學(xué)習(xí)!

    向AI問一下細節(jié)

    免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

    AI