turtle庫常用函數 引入turtle模塊 turtle的繪圖窗體 turtle的RGB色彩模式 畫筆控制函數 運動控制函數 方向控制函數 實例 ...
turtle庫常用函數
- 引入turtle模塊
import turtle
- turtle的繪圖窗體
#setup()設置視窗大小及位置
#setup()可省略
turtle.setup(width,height,startx,starty) turtle.setup(800,800,0,0) turtle.setup(800,800)
- turtle的RGB色彩模式
#預設採用小數值 可切換為整數值 #1.0:RGB小數值模式 #255:RGB整數值模式 turtle.colormode(mode)
- 畫筆控制函數
#抬起畫筆 turtle.penup() #turtle.pu() #落下畫筆 turtle.pendown() #turtle.pd() #畫筆寬度 turtle.pensize(width) #turtle.width(width) #畫筆顏色 turtle.pencolor(color) #color為顏色字元串或r,g,b值 turtle.pencolor("purlple")#顏色字元串 turtle.pencolor(0.63,0.13,0.94)#RGB的小數值 turtle.pencolor((0.36,0.13,0.94))#RGB的元組值
- 運動控制函數
#將畫筆移動到坐標為(x,y)的位置
turtle.goto(x,y)
turtle.goto(100,100)
turtle.goto(0,0)
#向前行進d,d可以為負數 turtle.forward(d)
turtle.fd(d) turtle.fd(100) #向後行進d,d可以為負數
turtle.backword(d) turtle.bk(d) turtle.bk(100) #根據半徑r繪製extent角度的弧形 #r:預設圓心在海龜左側r距離的位置 #extent:繪製角度。預設是360度整圓 turtle.circle(r,extent=None) turtle.circle(100,90)
- 方向控制函數
#seth()改變海龜行進方向 #angle為絕對度數 #seth()只改變方向但不行進 turtle.setheading(angle) turtle.seth(angle) turtle.seth(45) turtle.seth(-135) #海龜向左轉 #angle:在當前行進方向上旋轉的角度 turtle.left(angle) turtle.left(90) #海龜向右轉 turtle.right(angle) turtle.right(90)
#停止畫筆繪製,但繪圖窗體不關閉 turtle.done()
實例
#八邊形繪製 import turtle turtle.pensize(2) for x in range(8): turtle.fd(100) turtle.left(45) turtle.done()
#蟒蛇繪製 import turtle turtle.setup(650,350,200,200) turtle.penup() turtle.fd(-250) turtle.pendown() turtle.pensize(25) turtle.pencolor("purple") turtle.seth(-40) for i in range(4): turtle.circle(40,80) turtle.circle(-40,80) turtle.circle(40,40) turtle.fd(40) turtle.circle(16,180) turtle.fd(40*2/3) turtle.done()
#風車繪製 import turtle turtle.setup(650,650) turtle.penup() turtle.pensize(3) turtle.pencolor("black") turtle.pendown() for x in [0,90,180,270]: turtle.seth(x) turtle.fd(100) turtle.seth(x+90) turtle.circle(100,-45) turtle.goto(0,0) turtle.done()
#疊邊形繪製,疊邊形內角為80度 import turtle turtle.setup(650,550) turtle.penup() turtle.fd(-100) turtle.pensize(5) turtle.pencolor("black") turtle.pendown() for x in range(9): turtle.fd(100) turtle.left(80) turtle.done()