用Python的Turtle制作自己的星空

前言
Python模擬星空,你值得擁有!uu們一周不見啦,本周博主參考網(wǎng)上大佬們的星空,給大家?guī)砹藢儆谧约旱男强眨靵砜纯窗蓗
Turtle基礎(chǔ)
小海龜(Turtle)是Python中畫圖的一個(gè)重要的包(內(nèi)置包),里面包含豐富的畫圖工具以及畫圖的各種功能,當(dāng)你學(xué)會了用Turtle畫圖后,你可以畫任何你想畫的圖案哦
1.1 Turtle畫板
Turtle的畫板大小可以用turtle.screensize()函數(shù)來設(shè)置
turtle.screensize(width,height,bg):設(shè)置畫板的大小,包含長和寬,width為寬,height為高,bg為畫布顏色
1.2 Turtle畫筆
Turtle的畫筆有幾個(gè)常用的函數(shù)
①turtle.penup():抬起畫筆,此時(shí)移動(dòng)畫筆不會在畫布上留下痕跡哦 ②turtle.pendown():放下畫筆,與turtle.penup相對應(yīng),放下畫筆后就可以繼續(xù)畫畫了(放下畫筆后畫畫會在畫布上留下痕跡) ③turtle.pensize():控制畫筆的大?。梢愿鶕?jù)需求自行定義畫筆的大小哦) ④turtle.pencolor():控制畫筆的顏色(可以自己在網(wǎng)上查閱所有python可以使用的顏色,python里面可以用的顏色有很多的哦) ⑤turtle.hideturtle():隱藏畫筆(隱藏畫筆以后畫圖時(shí)畫筆就看不到了)
1.3 Turtle畫圖
在畫圖的過程中,我們經(jīng)常要使用一些簡單的移動(dòng)函數(shù)
①turtle.forward(x):將畫筆向前移動(dòng)x個(gè)像素(x可以理解為距離) ②turtle.backward(x):將畫筆向后退x個(gè)像素(x可以理解為距離) ③turtle.left(n):將畫筆向左旋轉(zhuǎn)n度 ④turtle.right(n):將畫筆向右旋轉(zhuǎn)n度 ⑤turtle.speed():設(shè)置畫筆畫圖的速度(1~10遞增,0最快)
1.4 Turtle填色
在畫好圖后,我們經(jīng)常需要對其進(jìn)行填色,這里可以用turtle.fillcolor()函數(shù),括號里寫入你想填充的顏色即可。
在使用turtle.fillcolor()函數(shù)要注意其基本格式
turtle.beginfill() #開始填充 turtle.fillcolor() #輸入填充的顏色 turtle.endfill() #結(jié)束填充
1.5 Turtle寫字
在完成整個(gè)畫圖后,我們可以使用turtle.write()函數(shù)進(jìn)行寫字
turtle.write(" ",move,align,font)
① 第一個(gè)位置雙引號內(nèi)填入要寫的字
② move(可選):在默認(rèn)情況下,move為false。如果move為true,則筆將移動(dòng)到右下角
③ align(可選):可取值是left即左、center即中、right即右之一,是字符串格式
④ font(可選):字體三元組(fontname、fontsize、fonttype),fontname即字體名稱(字符串格式,如“宋體”),fontsize即字體大?。?,fonttype即字體類型如:normal(普通)、bold(粗體)、italic(斜體)
模擬星空
簡單了解turtle小海龜后,讓我們一起來模擬星空吧!
模擬星球
我們將每一個(gè)星球看成一個(gè)質(zhì)點(diǎn),每一個(gè)質(zhì)點(diǎn)用小海龜表示,通過克隆小海龜生成一個(gè)個(gè)星球
t=tu.Turtle(visible=False,shape='circle')
t.pencolor("white")
t.fillcolor("white")
t.penup()
t.goto(ra.randint(width/2,width),ra.randint(-height/2,height/2))
for i in range(99):
star=t.clone()
s=ra.uniform(0,1)/3
star.shapesize(s,s)
star.speed(ra.randint(2,5))
star.setx(ra.randint(width/2,width))
star.sety(ra.randint(-height/2,height/2))
star.showturtle()
stars.append(star)
浪漫星空
通過循環(huán)來模擬星空
當(dāng)每個(gè)星球從左邊消失時(shí),我們將他從新加入右側(cè),繼續(xù)循環(huán)
while True:
for star in stars:
star.setx(star.xcor()-star.speed())
if star.xcor()<-width/2:
star.hideturtle()
star.setx(ra.randint(width/2,width))
star.sety(ra.randint(-height/2,height/2))
star.showturtle()
到此這篇關(guān)于用Python的Turtle制作自己的星空的文章就介紹到這了,更多相關(guān)Python Turtle制作星空內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Python?打印不帶括號的元組的實(shí)現(xiàn)
本文主要介紹了Python?打印不帶括號的元組,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2023-04-04
詳解Python 模擬實(shí)現(xiàn)生產(chǎn)者消費(fèi)者模式的實(shí)例
這篇文章主要介紹了詳解Python 模擬實(shí)現(xiàn)生產(chǎn)者消費(fèi)者模式的實(shí)例的相關(guān)資料,這里使用了線程知識,隊(duì)列知識及循環(huán)的知識,需要的朋友可以參考下2017-08-08
Python?實(shí)現(xiàn)驅(qū)動(dòng)AI機(jī)器人
這篇文章主要介紹了Python?實(shí)現(xiàn)驅(qū)動(dòng)AI機(jī)器人,下文圍繞利用Python?實(shí)現(xiàn)驅(qū)動(dòng)AI機(jī)器人的相關(guān)資料展開內(nèi)容,需要的小伙伴可以參考一下2022-02-02
Python正則表達(dá)式中g(shù)roup與groups的用法詳解
本文主要介紹了Python正則表達(dá)式中g(shù)roup與groups的用法詳解,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2023-02-02
詳解OpenCV中直方圖,掩膜和直方圖均衡化的實(shí)現(xiàn)
這篇文章主要為大家詳細(xì)介紹了OpenCV中直方圖、掩膜、直方圖均衡化詳細(xì)介紹及代碼的實(shí)現(xiàn),文中的示例代碼講解詳細(xì),需要的可以參考一下2022-11-11
Python計(jì)算一個(gè)文件里字?jǐn)?shù)的方法
這篇文章主要介紹了Python計(jì)算一個(gè)文件里字?jǐn)?shù)的方法,涉及Python文件操作及內(nèi)容遍歷的相關(guān)技巧,需要的朋友可以參考下2015-06-06
如何將自己的python代碼發(fā)布在pip install給別人使用你知道嗎
這篇文章主要介紹了python如何發(fā)布自已的pip項(xiàng)目,方便大家學(xué)習(xí),小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2021-08-08
python pandas時(shí)序處理相關(guān)功能詳解
這篇文章主要介紹了python pandas時(shí)序處理相關(guān)功能詳解的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2019-07-07
使用Python實(shí)現(xiàn)多功能課堂點(diǎn)名器與抽簽工具
這篇文章主要為大家詳細(xì)介紹了如何使用Python實(shí)現(xiàn)多功能課堂點(diǎn)名器,也可以用作抽簽工具,感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下2024-02-02

