溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

如何用Python的Turtle制作自己的星空

發(fā)布時(shí)間:2023-04-26 14:01:02 來源:億速云 閱讀:94 作者:zzz 欄目:編程語言

這篇文章主要介紹“如何用Python的Turtle制作自己的星空”的相關(guān)知識(shí),小編通過實(shí)際案例向大家展示操作過程,操作方法簡(jiǎn)單快捷,實(shí)用性強(qiáng),希望這篇“如何用Python的Turtle制作自己的星空”文章能幫助大家解決問題。

Turtle基礎(chǔ)

小海龜(Turtle)是Python中畫圖的一個(gè)重要的包(內(nèi)置包),里面包含豐富的畫圖工具以及畫圖的各種功能,當(dāng)你學(xué)會(huì)了用Turtle畫圖后,你可以畫任何你想畫的圖案哦

1.1 Turtle畫板

Turtle的畫板大小可以用turtle.screensize()函數(shù)來設(shè)置

turtle.screensize(width,height,bg):設(shè)置畫板的大小,包含長(zhǎng)和寬,width為寬,height為高,bg為畫布顏色
1.2 Turtle畫筆

Turtle的畫筆有幾個(gè)常用的函數(shù)

①turtle.penup():抬起畫筆,此時(shí)移動(dòng)畫筆不會(huì)在畫布上留下痕跡哦
②turtle.pendown():放下畫筆,與turtle.penup相對(duì)應(yīng),放下畫筆后就可以繼續(xù)畫畫了(放下畫筆后畫畫會(huì)在畫布上留下痕跡)
③turtle.pensize():控制畫筆的大?。梢愿鶕?jù)需求自行定義畫筆的大小哦)
④turtle.pencolor():控制畫筆的顏色(可以自己在網(wǎng)上查閱所有python可以使用的顏色,python里面可以用的顏色有很多的哦)
⑤turtle.hideturtle():隱藏畫筆(隱藏畫筆以后畫圖時(shí)畫筆就看不到了)
1.3 Turtle畫圖

在畫圖的過程中,我們經(jīng)常要使用一些簡(jiǎn)單的移動(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)常需要對(duì)其進(jìn)行填色,這里可以用turtle.fillcolor()函數(shù),括號(hào)里寫入你想填充的顏色即可。
在使用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è)位置雙引號(hào)內(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(斜體)

模擬星空

簡(jiǎn)單了解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制作自己的星空”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識(shí),可以關(guān)注億速云行業(yè)資訊頻道,小編每天都會(huì)為大家更新不同的知識(shí)點(diǎn)。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI