Python?turtle庫(繪制螺旋正方形)
turtle庫繪制螺旋正方形
1.螺旋正方形
import turtle #導(dǎo)入turtle庫 turtle.pensize(2) #設(shè)置畫筆的寬度(2) for i in range(100): #循環(huán)(畫)100次 turtle.fd(i + (i * 2)) #每次循環(huán)畫筆長度i+(i*2) #(不能覆蓋掉i-1的正方形的意思?) turtle.left(90) #左轉(zhuǎn)90° turtle.hideturtle() #隱藏畫筆 turtle.done() #停留畫面
運(yùn)行結(jié)果:
2.彩色螺旋正方形
import turtle #導(dǎo)入turtle庫 turtle.pensize(2) #設(shè)置畫筆的寬度(2) turtle.bgcolor("black") #背景顏色(黑色) colors = ["blue","yellow","red","pink"] #定義顏色(4中顏色) for i in range(120): #循環(huán)(畫)120次 turtle.pencolor(colors[i % 4]) #畫筆顏色 turtle.fd(i+(i*2)) #每次循環(huán)畫線長度i+(i*2) turtle.left(90) #左轉(zhuǎn)90° turtle.hideturtle() #隱藏畫筆 turtle.done() #停留畫面
運(yùn)行結(jié)果:
第三方庫turtle的應(yīng)用
turtle庫用于繪制圖形的內(nèi)置函數(shù)庫。turtle是海龜?shù)囊馑?,turtle繪圖可以描述為海歸爬行軌跡形成了繪制的圖形,所以繪圖十分直觀
1.pip安裝turtle庫
打開cmd,輸入
pip install turtle
2.繪圖坐標(biāo)系
turtle畫布上默認(rèn)為原點(diǎn)是畫布中心,坐標(biāo)原點(diǎn)是 (0,0),X軸左右側(cè)分別為后退和前進(jìn)方向,Y軸上下兩側(cè)分別為左右兩側(cè)方向
turtle.setup(width,height.top,left) 參數(shù)width和height表示繪圖窗口的寬度和高度;如果參數(shù)是整數(shù),則單位是像素;如果參數(shù)是小數(shù),則表示與屏幕的比例。參數(shù)top和left表示窗口左邊界和上邊界與屏幕邊界的距離,如果值是None,表示位于屏幕中央(一般情況下不設(shè)置這兩個(gè)參數(shù)的值)
3.turtle的畫筆控制方法
turtle的畫筆控制方法主要是設(shè)置畫筆的狀態(tài),如畫筆的抬起和下落狀態(tài),設(shè)置的畫筆的寬度和顏色等
方法 | 功能 |
turtle.pensize()/width | 設(shè)置畫筆的寬度,若為空則返回當(dāng)前畫筆的寬度 |
turtle.pendown()/pd()/down() | 放下畫筆,即結(jié)束圖形繪制 |
turtle.penup()/pu()/up() | 提起畫筆,用于移動(dòng)畫筆位置 |
turtle.pencolor(colorstring)/pencolor((r,g,b)) | 設(shè)置畫筆顏色,第一個(gè)為顏色字符串,例('blue');第二個(gè)為顏色值取值表示 |
4.turtle的圖形繪制方法
這個(gè)方法包括畫筆的前進(jìn)方法,后退,方向控制等
方法 | 功能 |
turtle.seth(angle)/setheading(angle) | 改變畫筆繪制方向,angle是絕對(duì)方向的絕對(duì)值 |
turtle.fd(distance)/forward(distance) | 控制畫筆沿當(dāng)前方向前進(jìn)distance距離,distance的單位是像素,當(dāng)值為負(fù)數(shù)時(shí),表示向相反的的方向前進(jìn) |
turtle.circle(radius,extents) | 用來繪制一個(gè)弧形,根據(jù)半徑radius繪制extens角度的弧形 |
turtle.left(angle) | 向左旋轉(zhuǎn)angle角度 |
turtle.setx(x) | 將當(dāng)前x軸移動(dòng)到指定位置,x的單位是像素 |
turtle.sety(y) | 將當(dāng)前軸y移動(dòng)到指定位置,y的單位是像素 |
turtle.right(angle) | 向右旋轉(zhuǎn)angle角度 |
turtle.shape("name") | 設(shè)置畫筆的形狀,例:將name設(shè)置成‘turtle’ |
turtle.speed(num) | 設(shè)置畫筆的速度,num是一個(gè)整數(shù) |
turtle.hideturtle() | 隱藏畫筆 |
5.簡單應(yīng)用示例
繪制藍(lán)色螺旋代碼
import turtle as tt '''繪制藍(lán)色正方形螺旋''' tt.setup(400, 300) # 設(shè)置窗口大小 tt.pensize(1) # 設(shè)置畫筆寬度 tt.pencolor('blue') # 設(shè)置畫筆顏色 tt.shape('turtle') # 設(shè)置畫筆形狀 tt.speed(5) # 設(shè)置畫筆速度 a = 5 #設(shè)置畫筆起始位置 for i in range(40): a += 5 tt.left(90) tt.fd(a) tt.hideturtle() #隱藏畫筆 tt.done() #放下畫筆,結(jié)束繪制
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
TensorFlow Autodiff自動(dòng)微分詳解
這篇文章主要介紹了TensorFlow Autodiff自動(dòng)微分詳解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2020-07-07Pandas處理DataFrame稀疏數(shù)據(jù)及維度不匹配數(shù)據(jù)分析詳解
這篇文章主要為大家介紹了Pandas處理DataFrame稀疏數(shù)據(jù)及維度不匹配數(shù)據(jù)分析詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-02-02幾行代碼讓 Python 函數(shù)執(zhí)行快 30 倍
Python 編程語言,與其他流行編程語言相比主要缺點(diǎn)是它的動(dòng)態(tài)特性和多功能屬性拖慢了速度表現(xiàn)。Python 代碼是在運(yùn)行時(shí)被解釋的,而不是在編譯時(shí)被編譯為原生代碼。在本文中,我們將討論如何用多處理模塊并行執(zhí)行自定義 Python 函數(shù),并進(jìn)一步對(duì)比運(yùn)行時(shí)間指標(biāo)。2021-10-10Python設(shè)計(jì)模式之工廠方法模式實(shí)例詳解
這篇文章主要介紹了Python設(shè)計(jì)模式之工廠方法模式,結(jié)合實(shí)例形式較為詳細(xì)的分析了工廠方法模式的概念、原理、用法及相關(guān)操作技巧,需要的朋友可以參考下2019-01-01探究數(shù)組排序提升Python程序的循環(huán)的運(yùn)行效率的原因
這篇文章主要介紹了探究數(shù)組排序提升Python程序的循環(huán)的運(yùn)行效率的原因,作者用代碼實(shí)踐了多個(gè)小片段來進(jìn)行對(duì)比解釋,需要的朋友可以參考下2015-04-04詳解利用Python scipy.signal.filtfilt() 實(shí)現(xiàn)信號(hào)濾波
這篇文章主要介紹了詳解利用Python scipy.signal.filtfilt() 實(shí)現(xiàn)信號(hào)濾波,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2019-06-06通過python+selenium3實(shí)現(xiàn)瀏覽器刷簡書文章閱讀量
本篇文章主要介紹了通過python+selenium3實(shí)現(xiàn)瀏覽器刷簡書文章閱讀量,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-12-12