上一篇内容,我們講到孩子的入門一般是海龜繪圖。海龜繪圖法的理念源自形如海龜的機器人。這種機器人可前進和後退,還可向左和向右旋轉一定的角度。另外,這種機器人還攜帶一隻鉛筆,可通過擡起或放下來控制鉛筆在什麼時候接觸到腳下的紙張。子產品turtle讓你能夠模拟這樣的機器人。就像我們在使用畫筆在畫布上真實的畫畫一樣,畫筆遊走的軌迹變成了圖形。今天我們來認識一下強大的海龜繪圖,并且了解一些海龜指令。
首先我們來看一下上篇提到的畫三角形的代碼:
![](https://img.laitimes.com/img/9ZDMuAjOiMmIsIjOiQnIsIyZuBnL3UWZ4U2N4ATY4UGOzgTY2YmMjhjZ1U2YiBjYxUTZ1MTYiJ2Y3ETMw8CXlx2YpRnch9CXzZmYvwVbvNmLix2ckhmLwk2Lc9CX6MHc0RHaiojIsJye.png)
import turtle
pen=turtle.Pen( )
pen.forward(100)
pen.left(120)
pen.forward(100)
pen.left(120)
pen.forward(100)
turtle.done( )
![](https://img.laitimes.com/img/9ZDMuAjOiMmIsIjOiQnIsIyZuBnL3UWZ4U2N4ATY4UGOzgTY2YmMjhjZ1U2YiBjYxUTZ1MTYiJ2Y3ETMw8CXlx2YpRnch9CXzZmYvwVbvNmLix2ckhmLwk2Lc9CX6MHc0RHaiojIsJye.png)
我們來看一下這個畫三角形的代碼,首先我們要導入海龜庫(import tturtle),turtle庫是python的标準庫之一,然後我們要定義一個畫筆,pen=turtle.Pen();然後就是我們畫三角形,先畫第一條邊,邊長=100,然後是逆時針旋轉120(這說明三角形的内角為60度,旋轉120度是外角),畫第二條邊,第三條邊也是同樣。
![](https://img.laitimes.com/img/9ZDMuAjOiMmIsIjOiQnIsIyZuBnL3UWZ4U2N4ATY4UGOzgTY2YmMjhjZ1U2YiBjYxUTZ1MTYiJ2Y3ETMw8CXlx2YpRnch9CXzZmYvwVbvNmLix2ckhmLwk2Lc9CX6MHc0RHaiojIsJye.png)
import turtle
pen=turtle.Pen( )
pen.forward(100)
pen.left(120)
pen.forward(100)
pen.left(120)
pen.forward(100)
#移動到畫第二個三角形的地方
pen.left(120)
pen.forward(150)
#畫第二個三角形
pen.forward(100)
pen.left(120)
pen.forward(100)
pen.left(120)
pen.forward(100)
turtle.done( )
![](https://img.laitimes.com/img/9ZDMuAjOiMmIsIjOiQnIsIyZuBnL3UWZ4U2N4ATY4UGOzgTY2YmMjhjZ1U2YiBjYxUTZ1MTYiJ2Y3ETMw8CXlx2YpRnch9CXzZmYvwVbvNmLix2ckhmLwk2Lc9CX6MHc0RHaiojIsJye.png)
圖1
我們可以看到在畫第二個三角形的時候先讓畫筆移動了150步,這樣兩個三角形之間就有了50的距離了。那如果我們想讓中間的這50步的距離不顯示這條線怎麼辦呢?我們可以使用擡筆和落筆指令。
![](https://img.laitimes.com/img/9ZDMuAjOiMmIsIjOiQnIsIyZuBnL3UWZ4U2N4ATY4UGOzgTY2YmMjhjZ1U2YiBjYxUTZ1MTYiJ2Y3ETMw8CXlx2YpRnch9CXzZmYvwVbvNmLix2ckhmLwk2Lc9CX6MHc0RHaiojIsJye.png)
import turtle
pen=turtle.Pen()
pen.forward(100)
pen.left(120)
pen.forward(100)
pen.left(120)
pen.forward(100)
#擡筆畫到畫第二個三角形
pen.up()
pen.left(120)
pen.forward(150)
pen.down()
#畫第二個三角形
pen.forward(100)
pen.left(120)
pen.forward(100)
pen.left(120)
pen.forward(100)
turtle.done()
![](https://img.laitimes.com/img/9ZDMuAjOiMmIsIjOiQnIsIyZuBnL3UWZ4U2N4ATY4UGOzgTY2YmMjhjZ1U2YiBjYxUTZ1MTYiJ2Y3ETMw8CXlx2YpRnch9CXzZmYvwVbvNmLix2ckhmLwk2Lc9CX6MHc0RHaiojIsJye.png)
圖二
如果我們想讓畫完圖形的海龜畫筆隐藏怎麼辦呢?可以使用隐藏海龜的指令。
![](https://img.laitimes.com/img/9ZDMuAjOiMmIsIjOiQnIsIyZuBnL3UWZ4U2N4ATY4UGOzgTY2YmMjhjZ1U2YiBjYxUTZ1MTYiJ2Y3ETMw8CXlx2YpRnch9CXzZmYvwVbvNmLix2ckhmLwk2Lc9CX6MHc0RHaiojIsJye.png)
import turtle
pen=turtle.Pen()
pen.forward(100)
pen.left(120)
pen.forward(100)
pen.left(120)
pen.forward(100)
#移到畫第二個三角形的地方
pen.up()
pen.left(120)
pen.forward(150)
pen.down()
#畫第二個三角形
pen.forward(100)
pen.left(120)
pen.forward(100)
pen.left(120)
pen.forward(100)
pen.hideturtle()
turtle.done()
![](https://img.laitimes.com/img/9ZDMuAjOiMmIsIjOiQnIsIyZuBnL3UWZ4U2N4ATY4UGOzgTY2YmMjhjZ1U2YiBjYxUTZ1MTYiJ2Y3ETMw8CXlx2YpRnch9CXzZmYvwVbvNmLix2ckhmLwk2Lc9CX6MHc0RHaiojIsJye.png)
圖三
非常簡單而且友善。那你覺得海龜畫筆就這麼點能力嗎?當然不是,海龜指令有非常複雜功能,當然也是有着豐富的指令集。下面列出一部分指令,友善大家和孩子一起嘗試這畫數學中常用的基本圖形。
嘗試着用這些指令來畫一些數學上的基本圖形,比如說,正方形,長方形,平行四邊形,六邊形,五角星等等。
pen.pensize(arg)#設定畫筆的粗細,arg=數字
pen.pencolor("red")#設定畫筆的顔色,可以使用“black”“red”或者RGB3元組
pen.speed()#設定畫筆的移動速度,參數的範圍在[1,10]之間的整數,數字越大,速度越快,設定為0時速度最快
pen.forward(distance)#向目前畫筆方向移動distance像素長
pen.backward(distance)#向目前畫筆相反方向移動distance像素長度
pen.right(degree)#順時針移動degree°
pen.left(degree)#逆時針移動degree°
pen.penup()#擡筆
pen.pendowm()#落筆
pen.goto(x,y)#移到指定坐标位置
pen.circle(radius)#畫空心圓,radius為半徑
pen.dot(radius)#實心圓
turtle.hideturtle()#隐藏海龜畫筆
turtle.showturtle()#顯示海龜畫筆
turtle.done()#顯示海龜畫布
後面也會繼續更新海龜繪圖的用法,并且會附上一些代碼,友善大家學習,如果有需要後期還會更新視訊。下一篇開始将會正式進python基本文法的學習,希望我的分享對你和你的孩子有所幫助。