亚拍区欧拍区自拍区|日本强奸久久天堂色网站|午夜羞羞福利视频|你懂得福利影院|国产超级Avav无码成人|超碰免费人人成人色综合|欧美岛国一二三区|黄片欧美亚洲第一|人妻精品免费成人片在线|免费黄色片不日本

Python 初識(shí)四 標(biāo)準(zhǔn)庫(kù)(以海龜圖畫(huà)為例)

哆?咪

<p class="ql-block">文中圖片來(lái)源——強(qiáng)國(guó)學(xué)習(xí)——慕課學(xué)習(xí)——南華大學(xué)(僅教學(xué)使用)</p> 學(xué)習(xí)的主要內(nèi)容 <p class="ql-block">1.標(biāo)準(zhǔn)庫(kù)</p><p class="ql-block">2.標(biāo)準(zhǔn)庫(kù)的引入方法(3種)</p><p class="ql-block">3.海龜畫(huà)圖—— turtle 庫(kù)</p><p class="ql-block"> <b style="color:rgb(237, 35, 8);">絕對(duì)坐標(biāo)</b>體系</p><p class="ql-block"> 空間<b style="color:rgb(237, 35, 8);">坐標(biāo)</b>體系</p><p class="ql-block"> <b style="color:rgb(237, 35, 8);">海龜坐標(biāo)</b>體系</p><p class="ql-block">4. 典型教學(xué) <b style="color:rgb(237, 35, 8);">案 例 </b></p><p class="ql-block"><b style="color:rgb(1, 1, 1);">5.常用??庫(kù)中的</b><b style="color:rgb(237, 35, 8);">函數(shù)</b><b style="color:rgb(1, 1, 1);">匯總</b></p><p class="ql-block"><br></p><p class="ql-block"> </p> <p class="ql-block">想象一下,畫(huà)布的正中心(0,0)點(diǎn)處有一只這樣子的小海龜</p> 標(biāo)準(zhǔn)庫(kù) <p class="ql-block">Python標(biāo)準(zhǔn)庫(kù)是安裝Python自帶、無(wú)需額外下載,可直接import調(diào)用的內(nèi)置模塊集合。</p><p class="ql-block"><br></p> 標(biāo)準(zhǔn)庫(kù)的3種引入方法 turtle庫(kù)——畫(huà)圖 設(shè)置窗體畫(huà)布 坐標(biāo)體系 畫(huà)? 直線 畫(huà)曲線 <p class="ql-block">1.注意<b style="color:rgb(237, 35, 8);">圓心</b>位置</p><p class="ql-block">2.半徑r</p><p class="ql-block"><br></p> 案? ? ?例 絕對(duì)坐標(biāo)體系下畫(huà)一個(gè)正方形 <p class="ql-block"><b style="color:rgb(237, 35, 8);">標(biāo)準(zhǔn)庫(kù)引入方式一:</b></p><p class="ql-block">import turtle</p><p class="ql-block"># 基礎(chǔ)設(shè)置:紅色畫(huà)筆+紅點(diǎn)</p><p class="ql-block">turtle.pencolor("red")</p><p class="ql-block">turtle.pensize(2)</p><p class="ql-block">turtle.speed(0)</p><p class="ql-block">#<b style="color:rgb(237, 35, 8);"> 繪制紅色正方形(按軌跡順序)</b></p><p class="ql-block">turtle.goto(100, 0) # →(100,0)</p><p class="ql-block">turtle.goto(100, 100) # →(100,100)</p><p class="ql-block">turtle.goto(0, 100) # →(0,100)</p><p class="ql-block">turtle.goto(0, 0) # 回原點(diǎn)閉合</p><p class="ql-block"><b style="color:rgb(237, 35, 8);"># 收尾:隱藏畫(huà)筆+保持窗口</b></p><p class="ql-block">turtle.hideturtle()</p><p class="ql-block">turtle.done()</p> <p class="ql-block"><b style="color:rgb(237, 35, 8);">標(biāo)準(zhǔn)庫(kù)引入方式二:</b></p><p class="ql-block">from turtle import *</p><p class="ql-block"># 基礎(chǔ)設(shè)置:紅色畫(huà)筆+紅點(diǎn)</p><p class="ql-block">pencolor("red")</p><p class="ql-block">pensize(2)</p><p class="ql-block">speed(0)</p><p class="ql-block"># 繪制紅色正方形(按軌跡順序)</p><p class="ql-block">goto(100, 0) # →(100,0)</p><p class="ql-block">goto(100, 100) # →(100,100)</p><p class="ql-block">goto(0, 100) # →(0,100)</p><p class="ql-block">goto(0, 0) # 回原點(diǎn)閉合</p><p class="ql-block"># 收尾:隱藏畫(huà)筆+保持窗口</p><p class="ql-block">hideturtle()</p><p class="ql-block">done()</p> <p class="ql-block"><b style="color:rgb(237, 35, 8);">標(biāo)準(zhǔn)庫(kù)引入方式三:(別名)</b></p><p class="ql-block">import turtle as t</p><p class="ql-block"># 基礎(chǔ)設(shè)置:紅色畫(huà)筆+紅點(diǎn)</p><p class="ql-block">t.pencolor("red")</p><p class="ql-block">t.pensize(2)</p><p class="ql-block">t.speed(0)</p><p class="ql-block"># 繪制紅色正方形(按軌跡順序)</p><p class="ql-block">t.goto(100, 0) # →(100,0)</p><p class="ql-block">t.goto(100, 100) # →(100,100)</p><p class="ql-block">t.goto(0, 100) # →(0,100)</p><p class="ql-block">t.goto(0, 0) # 回原點(diǎn)閉合</p><p class="ql-block"># 收尾:隱藏畫(huà)筆+保持窗口</p><p class="ql-block">t.hideturtle()</p><p class="ql-block">t.done()</p> 海龜坐標(biāo)體系下畫(huà)一個(gè)正方形 <p class="ql-block">import turtle</p><p class="ql-block">turtle.pencolor("red") # 畫(huà)筆顏色為紅色</p><p class="ql-block">turtle.pensize(2) # 線條粗度為2像素</p><p class="ql-block"><br></p><p class="ql-block">turtle.fd(100) # 向前100像素(底邊)</p><p class="ql-block">turtle.left(90) # 左轉(zhuǎn)90度</p><p class="ql-block"><br></p><p class="ql-block">turtle.fd(100) # 向前100像素(右邊)</p><p class="ql-block">turtle.left(90) # 左轉(zhuǎn)90度</p><p class="ql-block"><br></p><p class="ql-block">turtle.fd(100) # 向前100像素</p><p class="ql-block">turtle.left(90) # 左轉(zhuǎn)90度</p><p class="ql-block"><br></p><p class="ql-block">turtle.fd(100) # 向前100像素</p><p class="ql-block">turtle.hideturtle() #隱藏畫(huà)筆</p><p class="ql-block">turtle.done() #保持窗口,手動(dòng)關(guān)閉</p> <p class="ql-block"><b style="color:rgb(237, 35, 8); font-size:20px;">循環(huán)簡(jiǎn)化程序:</b></p><p class="ql-block">import turtle</p><p class="ql-block"># 邊長(zhǎng)100,循環(huán)4次(走直線+左轉(zhuǎn)90度)</p><p class="ql-block">for i in range(4):</p><p class="ql-block"> turtle.fd(100) # 向前走100像素</p><p class="ql-block"> turtle.left(90) # 左轉(zhuǎn)90度</p><p class="ql-block">turtle.done()</p> <p class="ql-block">? 核心邏輯:</p><p class="ql-block"> 4次(fd+左轉(zhuǎn)90°),完美正方形</p><p class="ql-block">? 代碼極簡(jiǎn),無(wú)冗余,直接運(yùn)行</p><p class="ql-block">? 適配海龜默認(rèn)原點(diǎn),不用調(diào)坐標(biāo)</p> 畫(huà)正n邊形 <p class="ql-block">import turtle as t</p><p class="ql-block">n = int(("輸入正n邊形邊數(shù):"))</p><p class="ql-block">for i in range(n):</p><p class="ql-block"> t.forward(100) # 邊長(zhǎng)100</p><p class="ql-block"> t.right(360/n) # 旋轉(zhuǎn)角度為360°/n</p><p class="ql-block">turtle.done()</p> <p class="ql-block">關(guān)鍵要點(diǎn):</p><p class="ql-block">1. 循環(huán)次數(shù)=邊數(shù)n,用for循環(huán)</p><p class="ql-block">2. 每次前進(jìn)固定邊長(zhǎng),右轉(zhuǎn)360/n度(正n邊形外角和恒360°)</p><p class="ql-block">3. 依賴turtle庫(kù),無(wú)需額外安裝</p> 畫(huà)圓? ?畫(huà)半圓 思維拓展? ?作業(yè) <p class="ql-block">思考:</p><p class="ql-block">1.嘗試用3種引入海龜繪圖標(biāo)準(zhǔn)庫(kù)turtle庫(kù)的 方式,編寫(xiě)程序。</p><p class="ql-block">2.嘗試畫(huà)等邊三角形,正方形,正6</p><p class="ql-block">邊形,正10邊形,任意多邊形</p><p class="ql-block">3.如何畫(huà)半圓,○,圓的各種組合圖形?</p> 常用海龜庫(kù)中的函數(shù)匯總 <p class="ql-block"><b style="color:rgb(237, 35, 8);">一、 基礎(chǔ)初始化/收尾函數(shù)(必用)</b></p><p class="ql-block">- import turtle :導(dǎo)入庫(kù)</p><p class="ql-block">- turtle.Turtle() :創(chuàng)建畫(huà)筆(核心對(duì)象)</p><p class="ql-block">- turtle.done() :保持繪圖窗口不關(guān)閉</p><p class="ql-block">- turtle.Screen() :創(chuàng)建畫(huà)布(可選,設(shè)置窗口)</p><p class="ql-block"> </p><p class="ql-block"><b style="color:rgb(237, 35, 8);">二、 畫(huà)筆移動(dòng)函數(shù)(繪圖核心)</b></p><p class="ql-block">- turtle.goto(x,y) :</p><p class="ql-block"> 絕對(duì)坐標(biāo)移動(dòng)(畫(huà)三角形常用)</p><p class="ql-block">- turtle.forward(n)/turtle.fd(n) :</p><p class="ql-block"> 向前走n像素</p><p class="ql-block">- turtle.backward(n)/turtle.bk(n) :</p><p class="ql-block"> 向后退n像素</p><p class="ql-block">- turtle.setpos(x,y) :</p><p class="ql-block"> 同goto,定位絕對(duì)坐標(biāo)</p><p class="ql-block">- turtle.home() :</p><p class="ql-block"> 回到原點(diǎn)(0,0),朝向默認(rèn)右</p><p class="ql-block"> </p><p class="ql-block"><b style="color:rgb(237, 35, 8);">三、 方向旋轉(zhuǎn)函數(shù)(調(diào)整角度)</b></p><p class="ql-block">- turtle.left(angle)/turtle.lt(angle) : </p><p class="ql-block"> 向左轉(zhuǎn)angle度</p><p class="ql-block">- turtle.right(angle)</p><p class="ql-block"> /turtle.rt(angle) :</p><p class="ql-block"> 向右轉(zhuǎn)angle度</p><p class="ql-block">- turtle.setheading(angle)</p><p class="ql-block"> /turtle.seth(angle) :</p><p class="ql-block"> 設(shè)置朝向(0右、90上、180左、270下)</p><p class="ql-block"> </p><p class="ql-block"><b style="color:rgb(237, 35, 8);">四、 畫(huà)筆控制函數(shù)(落筆/抬筆/樣式)</b></p><p class="ql-block">- turtle.pendown()/turtle.pd() :</p><p class="ql-block"> 落筆(開(kāi)始繪圖,默認(rèn))</p><p class="ql-block">- turtle.penup()/turtle.pu() :</p><p class="ql-block"> 抬筆(移動(dòng)不畫(huà)線,定位用)</p><p class="ql-block">- turtle.pensize(n) :</p><p class="ql-block"> 設(shè)置畫(huà)筆粗細(xì)(n為數(shù)值)</p><p class="ql-block">- turtle.pencolor("顏色") :</p><p class="ql-block"> 設(shè)置畫(huà)筆顏色(紅/blue/#000)</p><p class="ql-block">- turtle.speed(n) :</p><p class="ql-block"> 繪圖速度(0最快,1-10遞增)</p><p class="ql-block"> </p><p class="ql-block"><b style="color:rgb(237, 35, 8);">五、 填充函數(shù)(給圖形上色)</b></p><p class="ql-block">- turtle.begin_fill() :</p><p class="ql-block"> 開(kāi)始填充(畫(huà)圖形前用)</p><p class="ql-block">- turtle.end_fill() :</p><p class="ql-block"> 結(jié)束填充(圖形畫(huà)完用)</p><p class="ql-block">- turtle.fillcolor("顏色") :</p><p class="ql-block"> 設(shè)置填充顏色</p><p class="ql-block"> </p><p class="ql-block">六、 畫(huà)布/窗口設(shè)置函數(shù)(美化)</p><p class="ql-block">- turtle.bgcolor("顏色") :</p><p class="ql-block"> 設(shè)置畫(huà)布背景色</p><p class="ql-block">- turtle.title("標(biāo)題") :</p><p class="ql-block"> 設(shè)置窗口標(biāo)題</p><p class="ql-block">- turtle.setup(w,h) :</p><p class="ql-block"> 設(shè)置窗口寬w、高h(yuǎn)</p><p class="ql-block">- turtle.hideturtle() :</p><p class="ql-block"> 隱藏畫(huà)筆箭頭</p><p class="ql-block"> </p><p class="ql-block"><b style="color:rgb(237, 35, 8);">七、 文字標(biāo)注函數(shù)(加說(shuō)明)</b></p><p class="ql-block">- turtle.write("文字") :</p><p class="ql-block"> 在當(dāng)前位置寫(xiě)文字</p><p class="ql-block">- turtle.write("文字", align="center", font=("Arial",12,"bold")) :</p><p class="ql-block"> 對(duì)齊+字體設(shè)置</p><p class="ql-block"> </p><p class="ql-block"><b style="color:rgb(237, 35, 8);">八、 圖形繪制快捷函數(shù)(實(shí)用)</b></p><p class="ql-block">- turtle.circle(r) :</p><p class="ql-block"> 畫(huà)半徑為r的圓</p><p class="ql-block">- turtle.dot(size, 顏色) :</p><p class="ql-block"> 畫(huà)指定大小顏色的圓點(diǎn)</p><p class="ql-block">- turtle.clear() :</p><p class="ql-block"> 清空畫(huà)布(保留畫(huà)筆)</p><p class="ql-block">- turtle.reset() :</p><p class="ql-block"> 清空畫(huà)布+畫(huà)筆回原點(diǎn)默認(rèn)狀態(tài)</p><p class="ql-block"> </p><p class="ql-block"><b style="color:rgb(237, 35, 8);">九、 窗口控制函數(shù)(進(jìn)階)</b></p><p class="ql-block">- turtle.bye() :</p><p class="ql-block"> 關(guān)閉繪圖窗口</p><p class="ql-block">- turtle.exit() :</p><p class="ql-block"> 點(diǎn)擊窗口關(guān)閉</p><p class="ql-block">- turtle.tracer(False) :</p><p class="ql-block"> 關(guān)閉動(dòng)畫(huà)(繪圖提速)</p><p class="ql-block">- turtle.update() :</p><p class="ql-block"> 手動(dòng)刷新畫(huà)布(關(guān)閉動(dòng)畫(huà)后用)</p>