用Python的Turtle制作自己的星空
前言
Python模擬星空,你值得擁有!uu們一周不見(jiàn)啦,本周博主參考網(wǎng)上大佬們的星空,給大家?guī)?lái)了屬于自己的星空,快來(lái)看看吧~
Turtle基礎(chǔ)
小海龜(Turtle)是Python中畫(huà)圖的一個(gè)重要的包(內(nèi)置包),里面包含豐富的畫(huà)圖工具以及畫(huà)圖的各種功能,當(dāng)你學(xué)會(huì)了用Turtle畫(huà)圖后,你可以畫(huà)任何你想畫(huà)的圖案哦
1.1 Turtle畫(huà)板
Turtle的畫(huà)板大小可以用turtle.screensize()函數(shù)來(lái)設(shè)置
turtle.screensize(width,height,bg):設(shè)置畫(huà)板的大小,包含長(zhǎng)和寬,width為寬,height為高,bg為畫(huà)布顏色
1.2 Turtle畫(huà)筆
Turtle的畫(huà)筆有幾個(gè)常用的函數(shù)
①turtle.penup():抬起畫(huà)筆,此時(shí)移動(dòng)畫(huà)筆不會(huì)在畫(huà)布上留下痕跡哦 ②turtle.pendown():放下畫(huà)筆,與turtle.penup相對(duì)應(yīng),放下畫(huà)筆后就可以繼續(xù)畫(huà)畫(huà)了(放下畫(huà)筆后畫(huà)畫(huà)會(huì)在畫(huà)布上留下痕跡) ③turtle.pensize():控制畫(huà)筆的大?。梢愿鶕?jù)需求自行定義畫(huà)筆的大小哦) ④turtle.pencolor():控制畫(huà)筆的顏色(可以自己在網(wǎng)上查閱所有python可以使用的顏色,python里面可以用的顏色有很多的哦) ⑤turtle.hideturtle():隱藏畫(huà)筆(隱藏畫(huà)筆以后畫(huà)圖時(shí)畫(huà)筆就看不到了)
1.3 Turtle畫(huà)圖
在畫(huà)圖的過(guò)程中,我們經(jīng)常要使用一些簡(jiǎn)單的移動(dòng)函數(shù)
①turtle.forward(x):將畫(huà)筆向前移動(dòng)x個(gè)像素(x可以理解為距離) ②turtle.backward(x):將畫(huà)筆向后退x個(gè)像素(x可以理解為距離) ③turtle.left(n):將畫(huà)筆向左旋轉(zhuǎn)n度 ④turtle.right(n):將畫(huà)筆向右旋轉(zhuǎn)n度 ⑤turtle.speed():設(shè)置畫(huà)筆畫(huà)圖的速度(1~10遞增,0最快)
1.4 Turtle填色
在畫(huà)好圖后,我們經(jīng)常需要對(duì)其進(jìn)行填色,這里可以用turtle.fillcolor()函數(shù),括號(hào)里寫(xiě)入你想填充的顏色即可。
在使用turtle.fillcolor()函數(shù)要注意其基本格式
turtle.beginfill() #開(kāi)始填充 turtle.fillcolor() #輸入填充的顏色 turtle.endfill() #結(jié)束填充
1.5 Turtle寫(xiě)字
在完成整個(gè)畫(huà)圖后,我們可以使用turtle.write()函數(shù)進(jìn)行寫(xiě)字
turtle.write(" ",move,align,font) ① 第一個(gè)位置雙引號(hào)內(nèi)填入要寫(xiě)的字 ② move(可選):在默認(rèn)情況下,move為false。如果move為true,則筆將移動(dòng)到右下角 ③ align(可選):可取值是left即左、center即中、right即右之一,是字符串格式 ④ font(可選):字體三元組(fontname、fontsize、fonttype),fontname即字體名稱(字符串格式,如“宋體”),fontsize即字體大?。?,fonttype即字體類型如:normal(普通)、bold(粗體)、italic(斜體)
模擬星空
簡(jiǎn)單了解turtle小海龜后,讓我們一起來(lái)模擬星空吧!
模擬星球
我們將每一個(gè)星球看成一個(gè)質(zhì)點(diǎn),每一個(gè)質(zhì)點(diǎn)用小海龜表示,通過(guò)克隆小海龜生成一個(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)
浪漫星空
通過(guò)循環(huán)來(lái)模擬星空
當(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)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Python?打印不帶括號(hào)的元組的實(shí)現(xiàn)
本文主要介紹了Python?打印不帶括號(hào)的元組,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(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)資料,這里使用了線程知識(shí),隊(duì)列知識(shí)及循環(huán)的知識(shí),需要的朋友可以參考下2017-08-08Python?實(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)資料展開(kāi)內(nèi)容,需要的小伙伴可以參考一下2022-02-02Python正則表達(dá)式中g(shù)roup與groups的用法詳解
本文主要介紹了Python正則表達(dá)式中g(shù)roup與groups的用法詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2023-02-02詳解OpenCV中直方圖,掩膜和直方圖均衡化的實(shí)現(xiàn)
這篇文章主要為大家詳細(xì)介紹了OpenCV中直方圖、掩膜、直方圖均衡化詳細(xì)介紹及代碼的實(shí)現(xiàn),文中的示例代碼講解詳細(xì),需要的可以參考一下2022-11-11Python計(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í),小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2021-08-08python pandas時(shí)序處理相關(guān)功能詳解
這篇文章主要介紹了python pandas時(shí)序處理相關(guān)功能詳解的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(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