人妻少妇乱子伦精品_日韩人妻潮喷视频网站_日本最新最全无码不卡免费_日韩AV无码中文

當(dāng)前位置: 首頁(yè) > 科技新聞 >

如何用Python畫(huà)一只機(jī)器貓?

時(shí)間:2020-04-11 16:14來(lái)源:網(wǎng)絡(luò)整理 瀏覽:
自信心是成功的源泉,對(duì)剛?cè)腴T(mén)編程行業(yè)的初級(jí)程序員來(lái)說(shuō),多敲代碼多做項(xiàng)目就是構(gòu)建自信心的最好辦法。 第一次學(xué)編程是在屏幕上敲出”Hello W

自信心是成功的源泉,對(duì)剛?cè)腴T(mén)編程行業(yè)的初級(jí)程序員來(lái)說(shuō),多敲代碼多做項(xiàng)目就是構(gòu)建自信心的最好辦法。

第一次學(xué)編程是在屏幕上敲出”Hello World!“,慢慢地可以處理簡(jiǎn)單程序,顯示更復(fù)雜的圖像,解決更多的問(wèn)題。

信心增加又可以促進(jìn)自己學(xué)習(xí)更多的知識(shí),這樣正能量的方式就是程序員學(xué)習(xí)進(jìn)階的不二法寶。

今天就教大家用Python寫(xiě)一個(gè)機(jī)器貓,跟著異步君一起敲代碼吧!


01

程序分析


我們先來(lái)看一下機(jī)器貓的樣子,如圖所示。

如何用Python畫(huà)一只機(jī)器貓?

它有大大的腦袋、圓圓的眼睛、紅紅的鼻頭,嘴巴兩邊各有 3 根胡子。腦袋和身體用一條紅色的絲帶分 隔開(kāi),因?yàn)閳D中的這只機(jī)器貓是坐著的,所以我們沒(méi)有看到腿,只有圓圓的腳露在外面。此外,機(jī)器貓還有胳膊和圓圓的手。最后,別忘了機(jī)器貓還有標(biāo)志性的鈴鐺和口袋。


我們可以使用自定義函數(shù),按照機(jī)器貓的身體部位來(lái)定義各個(gè)繪制函數(shù):head(頭)、 eyes(眼睛)、nose(鼻子)、mouth(嘴)、whiskers(胡子)、body(身體)、feet(腳)、arms(胳 膊)、hands(手)、bell(鈴鐺)和 package(口袋)。函數(shù)的名字就表明了該函數(shù)負(fù)責(zé)繪制的身體部位。


我們可以看到,這些身體部位大部分是由圓形和矩形組成,所以為了能夠重復(fù)使用相同的代碼段,避免 不必要地復(fù)制和粘貼代碼,我們還需要定義兩個(gè)基礎(chǔ)函數(shù)——一個(gè)是繪制圓形的函數(shù) drawRound(),一個(gè)是繪制矩形的 drawRect()函數(shù)。


02

導(dǎo)入模塊和設(shè)置畫(huà)筆


因?yàn)橐褂煤}斃L圖,所以我們需要先導(dǎo)入 turtle 模塊。我們將采用第 11 章介紹的導(dǎo)入模塊的第二種方法:

fromturtleimport*


使用這種方法,可以導(dǎo)入 turtle 模塊中所有的方法和變量,然后就可以直接調(diào)用方法了,而不需要再添加 “turtle.”前綴?,F(xiàn)在,我們可以直接將代碼寫(xiě)為 setup(500,500),而不需要再添加前綴寫(xiě)成 turtle.setup(500,500)。


然后我們對(duì)畫(huà)筆做一些基本設(shè)置,代碼如下。


#設(shè)置窗口大小
setup(500,500)
#設(shè)置畫(huà)筆
speed(10)
shape("turtle")
colormode(255)


調(diào)用 setup(500,500),將畫(huà)布大小設(shè)置為 500 像素寬,500 像素高。調(diào)用 speed(10) 將畫(huà)筆速度設(shè)置為 10。

調(diào)用 shape("turtle"),將光標(biāo)設(shè)置為小海龜。調(diào)用 colormode(255)設(shè)置 RGB 色彩值范圍為 0~255。


03

基礎(chǔ)函數(shù)


繪制圓形


我們定義一個(gè) drawRound()函數(shù),用它來(lái)繪制圓形。這里為它設(shè)置兩個(gè)參數(shù),分別是表示所繪制的圓的半 徑的 size 和表示是否填充的 filled。drawRound()函數(shù)的代碼如下所示。

defdrawRound(size,filled):
pendown()
iffilled==True:
begin_fill()
setheading(180)
circle(size,360)
iffilled==True:
end_fill()


首先,調(diào)用 pendown()函數(shù)表示落筆。然后,判斷參數(shù) filled 是否等于 True。如果等于 True,表示要填充, 那么就調(diào)用 begin_fill()函數(shù);否則,不調(diào)用該函數(shù),表示沒(méi)有填充。然后調(diào)用 setheading(180),設(shè)置小海 龜啟動(dòng)時(shí)運(yùn)動(dòng)的方向,就是讓小海龜調(diào)個(gè)頭。調(diào)用 circle(size,360),畫(huà)一個(gè)半徑為 size 的圓。然后還要判斷參數(shù) filled 是否等于 True,如果等于 True,意味著前面調(diào)用過(guò) begin_fill()函數(shù),則這里調(diào)用 end_fill()函 數(shù)表示填充完畢。


繪制矩形


接下來(lái),我們定義了一個(gè) drawRect()函數(shù),用它來(lái)繪制矩形。這里為它指定 3 個(gè)參數(shù),分別是表示所繪制 的矩形的長(zhǎng)的 length,表示所繪制的矩形的寬的 width,以及表示是否填充的 filled。drawRect()函數(shù)的代 碼如下所示。

defdrawRect(length,width,filled):
setheading(0)
pendown()
iffilled==True:
begin_fill()
forward(length)
right(90)
forward(width)
right(90)
forward(length)
right(90)
forward(width)
iffilled==True:
end_fill()


首先調(diào)用 setheading(0),設(shè)置小海龜啟動(dòng)時(shí)運(yùn)動(dòng)的方向,就是讓小海龜頭朝右。然后調(diào)用 pendown()函數(shù), 表示落筆。判斷參數(shù) filled 是否等于 True。如果等于 True,表示要填充,就調(diào)用 begin_fill()函數(shù);否則, 不調(diào)用函數(shù),表示沒(méi)有填充。調(diào)用 forward(length),繪制一條邊。然后調(diào)用 right(90),讓光標(biāo)向右旋轉(zhuǎn) 90 度。調(diào)用 forward(width),繪制另一條邊。


調(diào)用 right(90),讓光標(biāo)向右旋轉(zhuǎn) 90 度。調(diào)用 forward(length),繪制第三條邊。調(diào)用 right(90),讓光標(biāo)向右旋轉(zhuǎn) 90 度。調(diào)用 forward(width),繪制第四 條邊。然后還要判斷參數(shù) filled 是否等于 True,如果等于,則調(diào)用 end_fill()函數(shù)表示填充完畢。


04

繪制機(jī)器貓的身體

head()函數(shù)


在這里,我們定義了一個(gè)繪制機(jī)器貓大腦袋的函數(shù)——head()。首先,它繪制一個(gè)藍(lán)色填充的大圓,表示 機(jī)器貓的腦袋。然后,在藍(lán)色圓中繪制一個(gè)稍小一點(diǎn)的白色填充的圓,表示機(jī)器貓的臉龐。head()函數(shù)的 代碼如下所示。

defhead():
#大圓
color("blue","blue")
penup()
goto(0,100)
drawRound(75,True)
#小圓
color("white","white")
penup()
goto(0,72)
drawRound(60,True)


首先調(diào)用 color()函數(shù),將畫(huà)筆的顏色設(shè)置為藍(lán)色,將填充的顏色也設(shè)置為藍(lán)色。然后調(diào)用 penup()函數(shù), 讓畫(huà)筆抬起,不要在畫(huà)布上留下筆跡。調(diào)用 goto()函數(shù)將畫(huà)筆移動(dòng)到 x 坐標(biāo)為 0、y 坐標(biāo)為 100 的位置。調(diào)用我們?cè)谇懊鎰?chuàng)建的自定義函數(shù) drawRound(),繪制一個(gè)半徑為 75 個(gè)像素、用藍(lán)色填充的圓。


然后再次調(diào)用 color()函數(shù),將畫(huà)筆的顏色設(shè)置為白色,將填充的顏色也設(shè)置為白色。然后調(diào)用 penup()函 數(shù),讓畫(huà)筆抬起,不要在畫(huà)布上留下筆跡。調(diào)用 goto()函數(shù)將畫(huà)筆移動(dòng)到 x 坐標(biāo)為 0、y 坐標(biāo)為 72 的位置。調(diào)用 drawRound()函數(shù),繪制一個(gè)半徑為 60 個(gè)像素、用白色填充的圓。調(diào)用這個(gè) head()函數(shù)來(lái)看一下執(zhí)行效果,如圖所示。

如何用Python畫(huà)一只機(jī)器貓?


eyes()函數(shù)


接下來(lái),我們定義 eyes()函數(shù),用來(lái)繪制機(jī)器貓的眼睛。首先,我們繪制兩個(gè)邊框?yàn)楹谏⒂冒咨畛涞?大圓,表示機(jī)器貓的兩只眼睛。然后在每個(gè)大圓中畫(huà)一個(gè)用黑色填充的圓,并且在這個(gè)黑圓中再繪制一

個(gè)更小的用白色填充的圓,它們表示機(jī)器貓的眼球。

defeyes():
#左眼眶
color("black","white")
penup()
goto(-15,80)
drawRound(17,True)
#右眼眶
color("black","white")
penup()
goto(19,80)
drawRound(17,True)
#左眼珠
color("black","black")
penup()
goto(-8,70)
drawRound(6,True)
color("white","white")
penup()
goto(-8,66)
drawRound(2,True)
#右眼珠
color("black","black")
penup()
goto(12,70)
drawRound(6,True)
color("white","white")
penup()
goto(12,66)
drawRound(2,True)


首先繪制機(jī)器貓的左眼眶。調(diào)用 color()函數(shù),將畫(huà)筆的顏色設(shè)置為黑色,將填充的顏色設(shè)置為白色。然 后調(diào)用 penup()函數(shù),讓畫(huà)筆抬起,不要在畫(huà)布上留下筆跡。調(diào)用 goto()函數(shù)將畫(huà)筆移動(dòng)到 x 坐標(biāo)為 ?15、y 坐標(biāo)為 80 的位置。調(diào)用自定義函數(shù) drawRound(),繪制一個(gè)半徑為 17 個(gè)像素、用白色填充的圓。


然后繪制右眼眶,這段代碼和繪制左眼的代碼基本一致,只是傳入 goto()函數(shù)的參數(shù)不一樣,要將畫(huà)筆移 動(dòng)到 x 坐標(biāo)為 19、y 坐標(biāo)為 80 的位置。接下來(lái)繪制左眼珠和右眼珠。還是調(diào)用 color()函數(shù),設(shè)置畫(huà)筆和填充的顏色,移動(dòng)畫(huà)筆,然后繪制圓。調(diào)用這個(gè) eyes()函數(shù)來(lái)看一下效果,如圖所示。

如何用Python畫(huà)一只機(jī)器貓?

nose()函數(shù) 接下來(lái),我們定義 nose()函數(shù),來(lái)繪制鼻子。鼻子很簡(jiǎn)單,就是一個(gè)紅色的圓。nose 函數(shù)的代碼如下所示。

defnose():
color("red","red")
penup()
goto(0,40)
drawRound(7,True)


調(diào)用 color 函數(shù),將畫(huà)筆和填充的顏色設(shè)置為紅色。然后調(diào)用 penup()函數(shù),讓畫(huà)筆抬起,先不要在畫(huà)布

上留下筆跡。調(diào)用 goto()函數(shù)將畫(huà)筆移動(dòng)到 x 坐標(biāo)為 0、y 坐標(biāo)為 40 的位置。調(diào)用自定義函數(shù) drawRound(),繪制一個(gè)半徑為 7 個(gè)像素、用紅色填充的圓。調(diào)用這個(gè) nose()函數(shù)來(lái)看一下繪制效果,如圖所示。

如何用Python畫(huà)一只機(jī)器貓?


mouth()函數(shù)


接下來(lái),我們定義一個(gè) mouth()函數(shù),用來(lái)繪制機(jī)器貓的嘴巴。它會(huì)先繪制一條弧線,表示嘴形,然后再 繪制一條豎線,表示機(jī)器貓的“人中”。

defmouth():
#嘴
color("black","black")
penup()
goto(-30,-20)
pendown()
setheading(-27)
circle(70,55)
#人中
penup()
goto(0,26)
pendown()
goto(0,-25)


調(diào)用 color 函數(shù),將畫(huà)筆和填充的顏色都設(shè)置為黑色。然后調(diào)用 penup()函數(shù),讓畫(huà)筆抬起,先不要在畫(huà) 布上留下筆跡。調(diào)用 goto()函數(shù)將畫(huà)筆移動(dòng)到 x 坐標(biāo)為?30、y 坐標(biāo)為?20 的位置。然后調(diào)用 pendown()函數(shù)落下畫(huà)筆。調(diào)用 setheading(-27),設(shè)置小海龜啟動(dòng)時(shí)運(yùn)動(dòng)的方向。調(diào)用 circle(70,55)繪制一 條弧線,表示機(jī)器貓的嘴巴。


接下來(lái),調(diào)用 penup()函數(shù),讓畫(huà)筆抬起,先不要在畫(huà)布上留下筆跡。調(diào)用 goto()函數(shù)將畫(huà)筆移動(dòng)到 x 坐 標(biāo) 0、y 坐標(biāo)為 26 的位置。然后調(diào)用 pendown()函數(shù)落下畫(huà)筆。調(diào)用 goto(0,-25),來(lái)繪制一條直線,表示 機(jī)器貓的“人中”。調(diào)用這個(gè) mouth()函數(shù)來(lái)看一下繪制效果,如圖所示。

如何用Python畫(huà)一只機(jī)器貓?


whiskers()函數(shù)


接下來(lái),我們定義了一個(gè) whiskers()函數(shù),用來(lái)繪制胡子。它在機(jī)器貓的“人中”的兩邊,分別繪制 3 條 直線,表示胡須。whiskers()函數(shù)的代碼如下所示。

defwhiskers():
color("black","black")
#左邊中間的胡子
penup()
goto(10,5)
pendown()
goto(-40,5)
#右邊中間的胡子
penup()
goto(10,5)
pendown()
goto(40,5)
#左上的胡子
penup()
goto(-10,15)
pendown()
goto(-40,20)
#右上的胡子
penup()
goto(10,15)
pendown()
goto(40,20)
#左下的胡子
penup()
goto(-10,-5)
pendown()
goto(-40,-10)
#右下的胡子
penup()
goto(10,-5)
pendown()
goto(40,-10)


還是先調(diào)用 color()函數(shù),將畫(huà)筆和填充的顏色都設(shè)置為黑色。然后調(diào)用 penup()函數(shù),讓畫(huà)筆抬起,先不要在畫(huà)布上留下筆跡。調(diào)用 goto()函數(shù)將畫(huà)筆移動(dòng)到指定位置。然后調(diào)用 pendown()函數(shù)落下畫(huà)筆。調(diào)用goto()函數(shù),繪制一條直線,表示左邊第一根胡子。然后重復(fù)類(lèi)似的動(dòng)作,繪制剩下的 5 根胡子。這部分的代碼基本上是相同的,只是移動(dòng)到的坐標(biāo)位置有 所不同,這里就不再贅述。調(diào)用 whiskers()函數(shù)來(lái)看一下繪制效果,如圖所示。

如何用Python畫(huà)一只機(jī)器貓?


body()函數(shù)


下面我們定義 body()函數(shù),它用來(lái)繪制機(jī)器貓的身體。該函數(shù)先繪制一個(gè)藍(lán)色的矩形表示身體,然后再 繪制一個(gè)白色的圓,表示機(jī)器貓的大肚子。接下來(lái),繪制一個(gè)紅色的長(zhǎng)方形,表示紅絲帶,用于分隔開(kāi) 腦袋和身體。最后,繪制一個(gè)半圓,表示機(jī)器貓的腿。body()函數(shù)的代碼如下所示。

defbody():
#藍(lán)色的身體
color("blue","blue")
penup()
goto(-50,-40)
drawRect(100,80,True)
#白色的大肚子
color("white","white")
penup()
goto(0,-30)
drawRound(40,True)
#紅色絲帶
color("red","red")
penup()
goto(-60,-35)
drawRect(120,10,True)
#白色的腿
color("white","white")
penup()
goto(15,-127)
pendown()
setheading(90)
begin_fill()
circle(14,180)
end_fill()


先調(diào)用 color()函數(shù),將畫(huà)筆和填充的顏色都設(shè)置為藍(lán)色。然后調(diào)用 penup()函數(shù),讓畫(huà)筆抬起,先不要在 畫(huà)布上留下筆跡。調(diào)用 goto()函數(shù)將畫(huà)筆移動(dòng)到指定位置。然后調(diào)用自定義函數(shù) drawRect(),繪制一個(gè)長(zhǎng) 為 100 像素、寬為 80 像素,用藍(lán)色填充的矩形,表示機(jī)器貓的身體。


然后調(diào)用 color()函數(shù),將畫(huà)筆和填充的顏色都設(shè)置為白色。然后調(diào)用 penup()函數(shù),讓畫(huà)筆抬起,先不要 在畫(huà)布上留下筆跡。調(diào)用 goto()函數(shù)將畫(huà)筆移動(dòng)到指定位置。然后調(diào)用自定義函數(shù) drawRound(),繪制一 個(gè)半徑為 40 像素、用白色填充的圓形,表示機(jī)器貓的大肚子。


接下來(lái),再次調(diào)用 color()函數(shù),將畫(huà)筆和填充的顏色都設(shè)置為紅色。然后調(diào)用 penup()函數(shù),讓畫(huà)筆抬起, 先不要在畫(huà)布上留下筆跡。調(diào)用 goto()函數(shù)將畫(huà)筆移動(dòng)到指定位置。然后調(diào)用自定義函數(shù) drawRect(),繪 制一個(gè)長(zhǎng)為 120 像素、寬為 10 像素,用紅色填充的扁扁的矩形,用來(lái)分隔開(kāi)機(jī)器人的身體和腦袋。這是 機(jī)器人的紅絲帶,也是掛鈴鐺的地方。


然后調(diào)用 color()函數(shù),將畫(huà)筆和填充的顏色都設(shè)置為白色。然后調(diào)用 penup()函數(shù),讓畫(huà)筆抬起,先不要 在畫(huà)布上留下筆跡。調(diào)用 goto()函數(shù)將畫(huà)筆移動(dòng)到指定位置。調(diào)用 pendown()函數(shù)落下畫(huà)筆。調(diào)用 setheading(90),設(shè)置小海龜啟動(dòng)時(shí)運(yùn)動(dòng)的方向,也就是讓小海龜旋轉(zhuǎn) 90 度。調(diào)用 begin_fill()函數(shù),開(kāi)始 填充。調(diào)用 circle(14,180),繪制一個(gè)半徑為 14 像素的半圓形。然后調(diào)用 end_fill()函數(shù),停止填充。這樣 就繪制完了機(jī)器貓的兩條腿。

調(diào)用這個(gè)函數(shù),看一下繪制效果,如圖所示。

如何用Python畫(huà)一只機(jī)器貓?


feet()函數(shù)


接下來(lái),我們定義 feet()函數(shù),用來(lái)繪制機(jī)器貓的腳。feet()函數(shù)的代碼如下所示。

deffeet():
#左腳
color("black","white")
penup()
goto(-30,-110)
drawRound(20,True)
#右腳
color("black","white")
penup()
goto(30,-110)
drawRound(20,True


調(diào)用 color()函數(shù),將畫(huà)筆顏色設(shè)置為黑色,將填充顏色設(shè)置為白色。然后調(diào)用 penup()函數(shù),讓畫(huà)筆抬起,先不要在畫(huà)布上留下筆跡。調(diào)用 goto()函數(shù)將畫(huà)筆移動(dòng)到 x 坐標(biāo)為?30、y 坐標(biāo)為?110 的位置。


然后調(diào)用自定義函數(shù) drawRound(),繪制一個(gè)半徑為 20 像素、用白色填充的圓形,表示機(jī)器貓的左腳。然后重復(fù)類(lèi)似的動(dòng)作,繪制機(jī)器貓的右腳。代碼基本上是相同的,只是移動(dòng)的坐標(biāo)有所不同,這里就不 再贅述。調(diào)用 feet()函數(shù),看一下繪制效果,如圖所示。

如何用Python畫(huà)一只機(jī)器貓?


arms()函數(shù)


接下來(lái),我們定義 arms()函數(shù),用來(lái)繪制機(jī)器貓的胳膊。這里用兩個(gè)四邊形表示機(jī)器貓的兩條胳膊。arms()函數(shù)的代碼如下所示。

defarms():
#左胳膊
color("blue","blue")
penup()
begin_fill()
goto(-51,-50)
pendown()
goto(-51,-75)
left(70)
goto(-76,-85)
left(70)
goto(-86,-70)
left(70)
goto(-51,-50)
end_fill()
#右胳膊
color("blue","blue")
penup()
begin_fill()
goto(49,-50)
pendown()
goto(49,-75)
left(70)
goto(74,-85)
left(70)
goto(84,-70)
left(70)
goto(49,-50)
end_fill()


調(diào)用 color()函數(shù),將畫(huà)筆顏色和填充顏色都設(shè)置為藍(lán)色。然后調(diào)用 penup()函數(shù),讓畫(huà)筆抬起,先不要在 畫(huà)布上留下筆跡。調(diào)用 begin_fill()函數(shù)表示開(kāi)始填充。調(diào)用 goto()函數(shù)將畫(huà)筆移動(dòng)到指定位置。然后調(diào)用 pendown()函數(shù)落下畫(huà)筆。調(diào)用 goto()函數(shù),繪制一條直線。然后調(diào)用函數(shù) left(70),表示向左旋轉(zhuǎn) 70 度。調(diào)用 goto()函數(shù),繪制第二條直線。然后調(diào)用函數(shù) left(70),表示向左旋轉(zhuǎn) 70 度。調(diào)用 goto()函數(shù),繪制第三條直線。然后調(diào)用函數(shù) left(70),表示再次向左旋轉(zhuǎn) 70 度。調(diào)用 goto()函數(shù),繪制第四條直線。調(diào)用 end_fill()函數(shù),完成顏色的填充。這樣我們就完成了一個(gè)用藍(lán)色填充的四邊形,用它來(lái)表示機(jī)器貓的左胳膊。


然后重復(fù)類(lèi)似的動(dòng)作,繪制右胳膊。代碼基本相同,只是移動(dòng)的坐標(biāo)位置有所不同,這里不再贅述。調(diào) 用一下 arms()函數(shù),看一下繪制效果,如圖所示。

如何用Python畫(huà)一只機(jī)器貓?


hands()函數(shù)


接下來(lái),我們定義了 hands()函數(shù),來(lái)繪制機(jī)器貓的手。這里用兩個(gè)白色填充的圓來(lái)表示機(jī)器貓的手。hands()函數(shù)的代碼和 feet()函數(shù)比較類(lèi)似,這里不再做過(guò)多的解釋?zhuān)苯恿谐隽舜a。

defhands():
#左手
color("black","white")
penup()
goto(-90,-71)
drawRound(15,True)
#右手
color("black","white")
penup()
goto(90,-71)
drawRound(15,True)

調(diào)用 hands()函數(shù),看一下繪制效果,如圖所示。

如何用Python畫(huà)一只機(jī)器貓?


bell()函數(shù)


接下來(lái),我們定義了一個(gè) bell()函數(shù),來(lái)繪制鈴鐺。可以看到,鈴鐺是在一個(gè)黃色圓上,由中間的兩條黑 線和下方的一個(gè)小黑圈組成的。所以,我們先繪制一個(gè)用黃色填充的圓;然后繪制一個(gè)沒(méi)有填充的矩形, 表示鈴鐺中間分開(kāi)上下部分的橫條。在矩形下面,再繪制一個(gè)黑色填充的圓。bell()函數(shù)代碼比較簡(jiǎn)單, 這里也不再過(guò)多地解釋?zhuān)苯恿谐龃a。

defbell():
#黃色實(shí)心圓表示銅鈴
color("yellow","yellow")
penup()
goto(0,-41)
drawRound(8,True)
#黑色矩形表示花紋
color("black","black")
penup()
goto(-10,-47)
drawRect(20,4,False)
#黑色實(shí)心圓表示撞擊的金屬丸
color("black","black")
penup()
goto(0,-53)
drawRound(2,True)


調(diào)用這個(gè)函數(shù),看一下其繪制效果,如圖所示。

如何用Python畫(huà)一只機(jī)器貓?


package()函數(shù)


最后,我們還要給機(jī)器貓繪制一個(gè)口袋,因此,這里定義一個(gè) package()函數(shù)來(lái)繪制口袋。這里用一個(gè)半 圓來(lái)表示機(jī)器貓的口袋。package()函數(shù)的代碼比較簡(jiǎn)單,這里不再解釋?zhuān)苯恿谐隽舜a。

defpackage():
#半圓
color("black","black")
penup()
goto(-25,-70)
pendown()
setheading(-90)
circle(25,180)
goto(-25,-70)
hideturtle()

調(diào)用這個(gè)函數(shù),看一下繪制效果,如圖所示。

如何用Python畫(huà)一只機(jī)器貓?

到這里,我們的機(jī)器貓就繪制完成了。和前面給出的機(jī)器貓的卡通形象對(duì)比一下,看看是不是挺像的呢?

推薦內(nèi)容