Turtle庫常用函式
阿新 • • 發佈:2021-07-17
匯入 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
如果覺得文章不錯,可以分享給其他人喲~