日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) >

第四章 python的turtle库的运用

發(fā)布時(shí)間:2023/11/27 53 豆豆
生活随笔 收集整理的這篇文章主要介紹了 第四章 python的turtle库的运用 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

我們可以嘗試用python的自帶turtle庫(kù)繪制一條蟒蛇

首先我們?cè)O(shè)計(jì)一下蟒蛇的基本形狀

我們先把這段蟒蛇繪制的實(shí)例代碼貼出來(lái),各位可以在自己的本地運(yùn)行一下看看效果,然后我們?cè)倮^續(xù)分析代碼:

 1 #PythonDraw.py
 2 import turtle
 3 turtle.setup(650, 350, 200, 200)
 4 turtle.penup()
 5 turtle.fd(-250)
 6 turtle.pendown()
 7 turtle.pensize(25)
 8 turtle.pencolor("purple")
 9 turtle.seth(-40)
10 for i in range(4):
11     turtle.circle(40, 80)
12     turtle.circle(-40, 80)
13 turtle.circle(40, 80/2)
14 turtle.fd(40)
15 turtle.circle(16, 180)
16 turtle.fd(40 * 2/3)
17 turtle.done()

程序關(guān)鍵:import保留字,引入了一個(gè)繪圖體系,名字叫:turtle,就是海龜

學(xué)會(huì)海龜繪圖體系之后,我們可以完成更加復(fù)雜的繪制:五角星繪制、國(guó)旗繪制、機(jī)器貓繪制

掌握了繪制一條線的方法,就可以繪制整個(gè)世界

?

turtle庫(kù)概述:

turtle庫(kù)的turtle繪圖體系的python實(shí)現(xiàn)

turtle繪圖體系:1969年誕生,主要用于程序設(shè)計(jì)入門(mén)

        python的標(biāo)準(zhǔn)庫(kù)之一,入門(mén)級(jí)的圖形繪制函數(shù)庫(kù)

python的計(jì)算生態(tài):python標(biāo)準(zhǔn)庫(kù)+第三方庫(kù)

標(biāo)準(zhǔn)庫(kù):隨解釋器直接安裝到操作系統(tǒng)的功能模塊

第三方庫(kù):需要經(jīng)過(guò)安裝才能使用的功能模塊

?

turtle的原理:

turtle是一種真實(shí)的存在,有一只海龜,在窗體的正中心,在畫(huà)布上游走

走過(guò)的軌跡形成了繪制的圖形

海龜由程序控制,可以變換顏色、改變寬度等

?

turtle的繪圖窗體:

turtle的一個(gè)畫(huà)布空間,最小單位是像素

turtle的繪圖窗體:

turtle的繪圖窗體:

1 turtle.setup(width, height, startx, starty)

注意三點(diǎn):

1、setup設(shè)置船體的大小及位置

2、4個(gè)參數(shù)后兩個(gè)參數(shù)可選

3、setup不是必須的

?

turtle空間坐標(biāo)體系

絕對(duì)坐標(biāo):

1 turtle.goto(x,y)

這句是常用語(yǔ)法,讓海龜爬

我們?cè)囋嚾缦碌拇a,然后看看運(yùn)行結(jié)果

1 import turtle
2 turtle.goto( 100, 100)
3 turtle.goto( 100,-100)
4 turtle.goto(-100,-100)
5 turtle.goto(-100, 100)
6 turtle.goto(0,0)

我們運(yùn)行之后看看效果,如下圖所示:

海龜?shù)目臻g坐標(biāo)體系

turtle.circle(r,angle),海龜左側(cè)圓心,半徑為r畫(huà)圓

1 import turtle
2 turtle.circle(100,90)
3 turtle.done()

動(dòng)手試試上述代碼,會(huì)加深對(duì)circle函數(shù)的理解

?

下面我們了解一下海龜庫(kù)的角度坐標(biāo)體系

turtle.seth(angle)

1、seth() 改變?yōu)觚斝羞M(jìn)方向

2、angle為絕對(duì)角度

3、seth只改變方向但不行進(jìn)

海龜也有相對(duì)角度

1 turtle.left(angle)
2 turtle.right(angle)

我們來(lái)試試如下代碼的繪制效果,來(lái)體會(huì)Turtle的角度體系

1 import turtle
2 turtle.left(45)
3 turtle.fd(150)
4 turtle.right(135)
5 turtle.fd(300)
6 turtle.left(135)
7 turtle.fd(150)
8 turtle.done()

繪制結(jié)果如下圖所示:

下面我們涉及一下RGB色彩體系

萬(wàn)物色都可以由三種顏色構(gòu)成

RGB指的是紅綠藍(lán)三個(gè)通道的顏色組合

覆蓋視力所能感知的所有顏色

RGB每色取值范圍是0-255或0-1小數(shù)

常用的RGB色彩:

英文名稱(chēng)RGB整數(shù)值RGB小數(shù)值中文名稱(chēng)
white255,255,2551,1,1白色
yellow255,255,01,1,0黃色
magenta255,0,2551,0,1洋紅
cyan0,255,2550,1,1青色
blue0,0,2550,0,1藍(lán)色
black0,0,00,0,0黑色
seashell255,245,2381,0.96,0.93海貝色
gold255,215,01,0.84,0金色
pink255,192,2031,0.75,0.80粉紅色
brown165,42,420.65,0.16,0.16棕色
purple160,32,2400.63,0.13,0.94紫色
tomato255,99,711,0.39,0.28番茄色

turtle的RGB色彩模式

默認(rèn)采用小數(shù)值,可以切換成整數(shù)值:

1 turtle.colormode(mode)
2 #1.0:RGB小數(shù)值模式
3 #255:RGB整數(shù)值模式

turtle程序語(yǔ)法元素分析:

庫(kù)引用:

擴(kuò)充python程序功能的方式

用import保留字完成,采用<a>.<b>()編碼風(fēng)格

import <庫(kù)名>

<庫(kù)名>.<函數(shù)名>(<函數(shù)參數(shù)>)

 1 #PythonDraw.py
 2 import turtle
 3 turtle.setup(650, 350, 200, 200)
 4 turtle.penup()
 5 turtle.fd(-250)
 6 turtle.pendown()
 7 turtle.pensize(25)
 8 turtle.pencolor("purple")
 9 turtle.seth(-40)
10 for i in range(4):
11      turtle.circle(40, 80)
12      turtle.circle(-40, 80) 
13 turtle.circle(40, 80/2)
14 turtle.fd(40)
15 turtle.circle(16, 180)
16 turtle.fd(40 * 2/3)
17 turtle.done()

可是,超級(jí)多的turtle,好煩,咋辦????

import的更多用法:

使用from和import保留字共同完成

from <庫(kù)名> import <函數(shù)名>

from <庫(kù)名> import *

<函數(shù)名>(<函數(shù)參數(shù)>)

 1 #PythonDraw.py
 2 from turtle import *
 3 setup(650, 350, 200, 200)
 4 penup()
 5 fd(-250)
 6 pendown()
 7 pensize(25)
 8 pencolor("purple")
 9 seth(-40)
10 for i in range(4):
11     circle(40, 80)
12     circle(-40, 80)
13 circle(40, 80/2)
14 fd(40)
15 circle(16, 180)
16 fd(40 * 2/3)
17 done()

這么好的方法咋不早說(shuō)呢???

因?yàn)榈谝环N方法不會(huì)出現(xiàn)函數(shù)重名問(wèn)題,而第二種方法會(huì)出現(xiàn)函數(shù)重名問(wèn)題

import的更多用法

使用import和as保留字共同完成

import <庫(kù)名> as <庫(kù)別名>

<庫(kù)別名>.<函數(shù)名>(<函數(shù)參數(shù)>)

相當(dāng)于給庫(kù)起個(gè)簡(jiǎn)單的名字,如:狗娃

 1 #PythonDraw.py
 2 import turtle as t
 3 t.setup(650, 350, 200, 200)
 4 t.penup()
 5 t.fd(-250)
 6 t.pendown()
 7 t.pensize(25)
 8 t.pencolor("purple")
 9 t.seth(-40)
10 for i in range(4):
11      t.circle(40, 80)
12      t.circle(-40, 80)
13 t.circle(40, 80/2)
14 t.fd(40)
15 t.circle(16, 180)
16 t.fd(40 * 2/3)
17 t.done()

這個(gè)方法比較推薦,也簡(jiǎn)潔了代碼書(shū)寫(xiě)。

下面我們來(lái)分析下面這段代碼的畫(huà)筆控制函數(shù)

1 turtle.penup()
2 turtle.fd(-250)
3 turtle.pendown()
4 turtle.pensize(25)
5 turtle.pencolor("purple")

畫(huà)筆操作后一直有效,一般成對(duì)出現(xiàn)

turtle.penup() #抬起畫(huà)筆,海龜在飛 別名:turtle.pu()

turtle.pendown() #方向畫(huà)筆,海龜在爬 別名:turtle.pd()

畫(huà)筆設(shè)置后一直有效,直到下次重新設(shè)置

turtle.pensize(width) 別名:turtle.width(width)

  畫(huà)筆寬度,也就是海龜?shù)难鼑?/p>

turtle.pencolor(color) color為顏色字符串或者RGB值

  畫(huà)筆顏色,海龜在涂裝

pencolor(color)中的color參與可以有三種形式

1、顏色字符串 :turtle.pencolor("purple")

2、RGB的小數(shù)值:turtle.pencolor(0.63,0.13,0.94)

3、RGB的元組值:turtle.pencolor((0.63,0.13,0.94))

turtle的運(yùn)動(dòng)控制函數(shù)

控制海龜行進(jìn):走直線&走曲線

turtle.forward(d)  別名turtle.fd(d)

向前行進(jìn),海龜走直線

d:行進(jìn)距離,可以為負(fù)數(shù)

turtle.circle(r,extend=None)

  根據(jù)半徑r繪制extend角度的弧形

r:默認(rèn)圓心在海龜左側(cè)r距離的位置

extent:繪制角度,默認(rèn)360度整圓

?

方向控制函數(shù)

turtle.seth(45)

turtle.seth(-135)

控制海龜面對(duì)的方向:絕對(duì)角度和相對(duì)角度

turtle.left(angle)  海龜向左轉(zhuǎn)

turtle.right(angle)  海龜向右轉(zhuǎn)

angle:在海龜當(dāng)前行進(jìn)方向上旋轉(zhuǎn)的角度

循環(huán)語(yǔ)句與range()函數(shù)

1 for i in range(4):
2     tirtle.circle(40,80)
3     tirtle.circle(-40,80)

按照一定次數(shù)循環(huán)執(zhí)行一組語(yǔ)句

for <變量> in range(<次數(shù)>):

  <被循環(huán)執(zhí)行的語(yǔ)句>

<變量>表示每次循環(huán)的計(jì)數(shù),0到<次數(shù)>-1

?

range()函數(shù):產(chǎn)生循環(huán)計(jì)數(shù)序列

range(N) 產(chǎn)生0到N-1的整數(shù)序列,共N個(gè)

range(M,N)產(chǎn)生M到N-1的整數(shù)序列,共N-M個(gè)

?

轉(zhuǎn)載于:https://www.cnblogs.com/chy8/p/9448606.html

總結(jié)

以上是生活随笔為你收集整理的第四章 python的turtle库的运用的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。