1.窗體函數
- turtle.setup(width,height,startx,starty)
- 作用:設置窗體的大小和位置
- width:窗口寬度,如果值是整數,表示像素值;如果值是小數,表示窗口寬度與屏幕的比例。
- height:窗口高度,如果值是整數,表示像素值;如果值是小數,表示窗口高度與屏幕的比例。
- startx:窗口左側與屏幕左側的像素距離,如果值是None,窗口位於屏幕水平中央。
- starty:窗口頂部與屏幕頂部的像素距離,如果值是None,窗口位於屏幕垂直中央。
2.畫筆狀態函數
| pendown() |
發下畫筆 |
| penup() |
提起畫筆,與pendown()配對使用 |
| pensize(width) |
設置畫筆線條的粗細為指定大小 |
| color() |
設置畫筆的顏色 |
| begin_fill() |
填充圖形前,調用該方法 |
| end_fill() |
填充圖形結束 |
| filling() |
返回填充的狀態,True為填充,False為未填充 |
| clear() |
清空當前窗口,但不改變當前畫筆的位置 |
| reset() |
清空當前窗口,並重置位置等狀態為默認值 |
| screensize() |
設置畫筆的長和寬 |
| hideturtle() |
隱藏畫筆的turtle形狀 |
| showturtle() |
顯示畫筆的turtle形狀 |
| isvisible() |
如果turtle可見,則返回True |
3.畫筆運動函數
| forward() |
沿着當前方向前進指定距離 |
| backward() |
沿着當前相反方向后退指定距離 |
| right(angle) |
向右旋轉angle角度 |
| left(angle) |
向左旋轉angle角度 |
| goto(x,y) |
移動到絕對坐標( x,y) 處 |
| setx( ) |
將當前x軸移動到指定位置 |
| sety( ) |
將當前y軸移動到指定位置 |
| setheading(angle) |
設置當前朝向為angle角度 |
| home() |
設置當前畫筆位置為原點, 朝向東。 |
| circle(radius,e) |
繪制一個指定半徑r和角度e的圓或弧 |
| dot(r,color) |
繪制一個指定半徑r和顏色color的圓點 |
| undo() |
撤銷畫筆最后一步動作 |
| speed() |
設置畫筆的繪制速度, 參數為0-10之間 |
4.案例
- 案例-1:使用turtle庫繪制輪廓顏色為紅色(red)、填充顏色為粉紅色(pink)的心形圖形
from turtle import *
color('red', 'pink') # 設置畫筆的顏色
begin_fill() # 填充圖形前,調用該方法
left(135) # 向左旋轉135度
fd(100) # 控制畫筆向當前行進方向前進100
right(180) # 向右旋轉180度
circle(50,-180) # 繪制一個指定半徑50和角度180的圓或弧形
left(90) # 向左旋轉90度
circle(50,-180) # 繪制一個指定半徑50和角度180的圓或弧形
right(180) # 向右旋轉180度
fd(100) # 控制畫筆向當前行進方向前進100
end_fill() # 填充圖形完成
hideturtle() # 隱藏畫筆的形狀
done()
from turtle import *
setup(400,400) # 窗體的大小400*400
penup() # 提起畫筆
goto(-100,50) # 移動到絕對坐標(-100,50)
pendown() # 落下畫筆, 之后, 移動畫筆將繪制形狀
color('red')
begin_fill() # 填充圖形
for i in range(5):
forward(200) # 沿着當前方向前進200
right(144) # 向右旋轉144角度
end_fill() # 填充圖形結束
hideturtle()
done()
from turtle import *
n = 10
for i in range(1,10):
for j in [90,180,-90,0]:
seth(j) # 改變畫筆繪制方向
fd(n) # 當前行進方向前進n+5
n += 5
hideturtle()
done()
from turtle import *
setup(800,300) # 設置主窗體的大小和位置
penup() # 抬起畫筆,之后, 移動畫筆不繪制形狀
fd(-350)
pendown() # 落下畫筆, 之后, 移動畫筆將繪制形狀
def DrawLine(size):
for angle in [0,90,-90,-90,90]:
left(angle) # 向左旋轉angle角度
fd(size)
for i in [20,30,40,50,40,30,20]:
DrawLine(i)
hideturtle()
done()
from turtle import *
def DrawCctCircle(n):
penup() # 抬起畫筆,之后, 移動畫筆不繪制形狀
goto(0,-n) # 移動到絕對坐標( 0,-n) 處
pendown() # 落下畫筆, 之后, 移動畫筆將繪制形狀
circle(n) # 繪制一個指定半徑n圓
for i in range(20,100,20):
DrawCctCircle(i)
hideturtle()
done()