1. 程式人生 > 其它 >Turtle庫常用函式

Turtle庫常用函式

匯入 turtle 語句

import turtle

設定畫布

turtle.screensize(canvwidth=None,canvheight=None,bg=None)
預設大小為 400 x 300
turtle.screensize()
設定畫布為寬 500,高 300 的 灰色為畫布
turtle.screensize(canvwidth=500,canvheight=300,bg='gray')

turtle.setup(width=0.5,height=0.75,startx=None,starty=None)

width  寬
height 高
當width 和 height 是整數時,表示具體的畫素
當width 和 height 是小數時,表示佔據電腦螢幕的比例

startx 距離螢幕左面邊框的距離
starty 距離螢幕上方邊框的距離
當兩個引數,值均為空 None 時,則視窗位於螢幕中心。
turtle.setup(width=0.5,height=0.75,startx=None,starty=None)

turtle.setup(width=0.5,height=0.75,startx=100,starty=100)

turtle.setup(width=800,height=600,startx=None,starty=None)

turtle 畫筆的基本屬性

設定畫筆的寬度
turtle.pensize( )

可以傳遞整數引數
turtle.pensize(5)
設定畫筆的顏色 (藍色)

turtle.pencolor('blue')

也可以通過RGB三元組進行設定

turtle.pencolor(
'#f6521f')
設定畫筆的速度

turtle.speed(speed = 0 - 10 之間的整數)

turtle.speed(speed = 2)
畫筆運動命令

向當前畫筆方向移動distance畫素長度

turtle.forward(distance
= 數字) 數字可以是正數或者是負數,可以是小數型別 turtle.forward(distance = 200)
當前程式碼

執行結果

向當前畫筆相反方向移動 distance 畫素長度

turtle.backward(distance = 數字)

turtle.backward(distance = 300)

順時針轉動

turtle.right(角度)

turtle.right(
45)
逆時針轉動

turtle.left(角度)

turtle.left(90)
落筆

turtle.pendown( )
抬筆,此時不進行繪製

turtle.penup( )
移動到座標 x , y 的位置

turtle.goto(x,y)

turtle.goto(x = 50,y = 80)
畫圓

turtle.circle(半徑)

當半徑為正數時,表示逆時針畫圓圈

turtle.circle(50)

當半徑為負數時,表示順時針畫圓圈

turtle.circle(-50)

import turtle

turtle.setup(width=800,height=600,startx=None,starty=None)

turtle.pensize(5)

turtle.pencolor('blue')
# turtle.pencolor('#f6521f')
turtle.speed(speed = 8)
turtle.pendown()

turtle.forward(distance = 100)
turtle.backward(distance = 150)

turtle.right(45)
turtle.forward(distance = 100)
turtle.left(90)
turtle.forward(distance = 100)
turtle.penup()

turtle.goto(x = 50,y = 40)
turtle.pendown()

turtle.circle(50)

turtle.penup()
turtle.goto(x = 50,y = -180)
turtle.pendown()

turtle.circle(50)

turtle.mainloop()


移動到對應的 x 軸的位置

turtle.setx(x軸位置)

turtle.setx(250)
移動到對應的 y 軸位置

turtle.sety(y軸位置)

turtle.sety(250)
設定當前朝向的角度

turtle.setheading(角度)

turtle.setheading(45)
設定當前畫筆位置為原點,並將畫筆方向向右。

turtle.home( )
繪製一個指定直徑的圓點

turtle.dot(20)
import turtle

turtle.setup(width=800,height=600,startx=None,starty=None)

turtle.pensize(5)
turtle.pencolor('blue')
# turtle.pencolor('#f6521f')
turtle.speed(speed = 8)
turtle.pendown()

turtle.forward(distance = 50)
turtle.setx(100)
turtle.sety(150)
turtle.setheading(45)
# turtle.home()
turtle.dot(20)
turtle.forward(distance = 50)
turtle.mainloop()

返回當前是否處於填充狀態

turtle.filling( )
開始填充圖形

turtle.begin_fill( )
圖形的填充顏色

turtle.fillcolor('顏色')

turtle.fillcolor('blue')
同時設定 畫筆顏色 與 填充顏色

turtle.color('blue','black')
import turtle
turtle.setup(width=800,height=600,startx=None,starty=None)
# turtle.color('black','red')

turtle.begin_fill()
# turtle.fillcolor('blue')
turtle.color('blue','black')
print(turtle.filling())

turtle.pensize(5)
turtle.pencolor('blue')
# turtle.pencolor('#f6521f')
turtle.speed(speed = 8)
turtle.pendown()

turtle.forward(distance = 50)
turtle.setx(100)
turtle.sety(150)
turtle.setheading(240)
# turtle.home()
# turtle.dot(20)
turtle.forward(distance = 180)
# turtle.mainloop()

turtle.end_fill()
turtle.mainloop()

隱藏畫筆

turtle.hideturtle( )
顯示畫筆

turtle.showturtle( )

全域性控制命令

清空 turtle 視窗

turtle.clear( )
清空 turtle 視窗,畫筆回到起始位置

turtle.reset( )
撤銷上一個 turtle 動作

turtle.undo( )
返回當前畫筆是否顯示

turtle.isvisible()
重複執行一次上一個 turtle 操作

turtle.stamp( )
文字字型

turtle.write('文字內容',font = ("宋體",25))

啟動事件迴圈

turtle.mainloop( )

注:放在最後一句

五角星 程式碼
import turtle

turtle.pensize(5)
turtle.color("black","blue")

turtle.begin_fill()
for i in range(5):
    turtle.forward(200)
    turtle.right(144)
turtle.end_fill()

turtle.penup()
turtle.goto(-180, -150)
turtle.color("black")
turtle.write("Hany驛站-Turtle五角星", font=('Consolas', 20))

turtle.mainloop()

五環 程式碼
import turtle

def go(x,y):
    turtle.penup()
    turtle.goto(x,y)
    turtle.pendown()

def pen():
    turtle.screensize(800, 600)
    turtle.pensize(10)
    turtle.speed(10)

def name():
    turtle.penup()
    turtle.home()
    turtle.goto(-95,-180)
    turtle.pendown()
    turtle.write('Hany驛站-五環',font = ('Consolas',15))

def main():
    turtle.setup(width=0.75, height=0.75, startx=None, starty=None)
    pen()
    pencolors = ['blue','yellow','black','green','red']
    x = -300
    y = 0
    for i in range(5) :
        if i == 3 :
            x = -180
            y = -120
        if i < 3 :
            go(x + i * 250,y)
            turtle.pencolor(pencolors[i])
            turtle.circle(110)
        else :
            go(x + ( i - 3 ) * 250, y)
            turtle.pencolor(pencolors[i])
            turtle.circle(110)
    name()
    turtle.hideturtle()
    turtle.mainloop()

if __name__ ==  '__main__':
    main()


2021-07-17

如果覺得文章不錯,可以分享給其他人喲~