欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

基于Python中的turtle繪畫星星和星空

 更新時間:2022年03月04日 09:39:11   作者:迪迦瓦特曼  
這篇文章主要介紹了基于Python中的turtle繪畫星星和星空,turtle?是?Python?中自帶的繪圖模塊,下文章關于turtle繪畫星星和星空的詳細內(nèi)容,需要的朋友可以參考一下,可以當作學習小練習

前言:

Python 中的畫圖工具——turtle(海龜繪圖),turtle 是 Python 中自帶的繪圖模塊,最初來自于 Wally Feurzeig, Seymour Papert 和 Cynthia Solomon 于 1967 年所創(chuàng)造的 Logo 編程語言。

使用 turtle 控制畫筆在畫板上畫畫。而這個畫筆是有形狀的,默認是一個小箭頭,我們可以使用 turtle.shape('turtle') 將其設成一個小海龜。除了變成小海龜外,還支持傳入 'arrow'(箭頭),'circle'(圓),'square'(正方形),'triangle'(三角形)和 'classic'(經(jīng)典).

畫筆的顏色默認是黑色的,我們可以使用turtle.color('red') 改成紅色的。當然,你也可以使用 turtle.color('yellow') 改成黃色,使用turtle.color('pink') 改成粉色等等。

一、畫一個N邊形

import turtle
?
turtle.color('red') #將畫筆顏色設置成紅色
turtle.hideturtle() #隱藏小海龜
?
#畫一個n邊形
def draw_polygon(n):
? for i in range(n):
? ? turtle.forward(100)
? ? turtle.right(360/n)
?
draw_polygon(5) ? ? #畫一個五邊形
turtle.done()

二、畫五角星

五角星每個角的度數(shù)都是 36 度,用 180 - 36 得到對應的補角為 144 度。

如下圖所示:

五角星的五條線的長度是一樣的,并且角度也一樣。那么,我們就可以用循環(huán)來畫五角星。五角星要畫 5 條線,因此要循環(huán) 5 次。每次循環(huán)都除了畫一條線,還要旋轉特定的角度。從上圖可知,每次向右旋轉 144 度即可。

所以畫五角星的代碼如下:

import turtle
?
turtle.color('red') ?# 畫筆顏色和填充顏色都設為紅色
turtle.hideturtle() ?#隱藏小海龜
?
turtle.begin_fill() ?#開始填充
for i in range(5):
? turtle.forward(100)#向前走100像素
? turtle.right(144) ?#右轉144度
turtle.end_fill() ? ?#結束填充

打印出結果其實上圖五角星不在畫板中央,我們將它移動到畫板中央

注意:(-50, 20) 只是針對邊長 100 像素的五角星,不要隨意修改邊長。

import turtle
?
turtle.color('red')
turtle.hideturtle()
turtle.penup()
turtle.goto(-50,20)
turtle.pendown()
?
turtle.begin_fill()
for i in range(5):
? turtle.forward(100)
? turtle.right(144)
turtle.end_fill()
turtle.done()

三、一閃一閃亮晶晶

我們來畫一堆星星,實現(xiàn)“一閃一閃亮晶晶,滿天都是小星星”的效果~? 

因為畫的星星比較多,我們先把之前畫五角星的代碼封裝成一個函數(shù):

import turtle
?
def draw_star():
? turtle.color('white')
? turtle.hideturtle()
? turtle.begin_fill()
? for i in range(5):
? ? turtle.forward(10)
? ? turtle.right(144)
? turtle.end_fill()

星星的光是白色的,因此我將顏色設置成了白色(white)。并且,因為是小星星,我將邊長設成了 10 像素。畫一個小星星的方法搞定了,接下來是畫滿天星,就畫 50 個吧!

滿天星的位置都是隨機的,我們需要用到 random 模塊生成隨機位置。因為教學環(huán)境中顯示區(qū)域有限,隨機位置在 x 軸上的范圍是 -150 到 150,在 y 軸上的范圍是 -100 到 100。

隨機畫 50 顆小星星的代碼如下:

import turtle
from random import randint
?
def draw_star():
? turtle.color('white')
? turtle.hideturtle()
? turtle.begin_fill()
? for i in range(5):
? ? turtle.forward(10)
? ? turtle.right(144)
? turtle.end_fill()
?
for i in range(50):
? turtle.speed(0) ?# 最快速
? turtle.penup()
? x = randint(-150, 150) ?# x 軸
? y = randint(-100, 100) ?# y 軸
? turtle.goto(x, y)
? turtle.pendown()
? draw_star()

應該注意到了 turtle.speed(0) 這行代碼,這是控制繪圖速度的。因為畫 50 顆小星星耗時較久,所以要加快繪圖速度。 turtle.speed(0) 的參數(shù)是 0-10 的整數(shù),其中 1-10 數(shù)字越大,繪圖速度越快。1 最慢,10 最快,默認是 6。而 0 表示沒有動畫效果,因此 0 比 10 的速度還要快。

滿天星畫完了,我們最后再署個名。調用turtle.write() 可以在畫板上寫字,參數(shù)為要寫的內(nèi)容。我們還能設置字的字體、大小等,比如 turtle.write('By 黃幫主', font = ('SimHei', 12, 'bold'))。font 參數(shù)是個元組,其中第一個是字體,第二個是字體大小,最后一個是字重。

為了讓文字更清晰可見,我將字體設置成了黑體!12 像素!加粗!完整的代碼如下:

import turtle
from random import randint
?
def draw_star():
? # 補全畫一顆星星的代碼
? turtle.color('red')
? turtle.hideturtle()
? turtle.begin_fill()
? for i in range(5):
? ? turtle.forward(10)
? ? turtle.right(144)
? turtle.end_fill()
??
?
# 將 ??? 改成你想畫的星星個數(shù)
for i in range(50):
? turtle.speed(0)
? turtle.penup()
? x = randint(-150, 150)
? y = randint(-100, 100)
? turtle.goto(x, y)
? turtle.pendown()
? draw_star()
?
turtle.penup()
turtle.goto(0, -130)
turtle.pendown()
turtle.write('一閃一閃亮晶晶', ?font = ('SimHei', 12, 'bold'))
turtle.done()

最終結果:

相關文章

  • 人工智能學習Pytorch張量數(shù)據(jù)類型示例詳解

    人工智能學習Pytorch張量數(shù)據(jù)類型示例詳解

    這篇文章主要為大家介紹了人工智能學習Pytorch張量數(shù)據(jù)類型的示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步
    2021-11-11
  • 解決python matplotlib imshow無法顯示的問題

    解決python matplotlib imshow無法顯示的問題

    今天小編就為大家分享一篇解決python matplotlib imshow無法顯示的問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-05-05
  • Python中使用第三方庫xlutils來追加寫入Excel文件示例

    Python中使用第三方庫xlutils來追加寫入Excel文件示例

    這篇文章主要介紹了Python中使用第三方庫xlutils來追加寫入Excel文件示例,本文直接給出追加寫入示例和追加效果,需要的朋友可以參考下
    2015-04-04
  • Python?IO文件管理的具體使用

    Python?IO文件管理的具體使用

    我們可以使用python來操作文件,比如讀取文件內(nèi)容、寫入新的內(nèi)容等,本文主要介紹了Python?IO文件管理的具體使用,文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-03-03
  • python 基于wx實現(xiàn)音樂播放

    python 基于wx實現(xiàn)音樂播放

    這篇文章主要介紹了python 基于wx實現(xiàn)音樂播放的示例代碼,幫助大家更好的理解和學習python,感興趣的朋友可以了解下
    2020-11-11
  • pandas參數(shù)設置的實用小技巧

    pandas參數(shù)設置的實用小技巧

    這篇文章主要給大家介紹了關于pandas參數(shù)設置的實用小技巧,文中通過實例代碼結束的非常詳細,對大家學習或者使用pandas具有一定的參考學習價值,需要的朋友們下面來一起學習學習吧
    2020-08-08
  • 使用Kivy將python程序打包為apk文件

    使用Kivy將python程序打包為apk文件

    本文給大家分享的是使用Kivy將python程序打包為apk文件的方法,包括安裝步驟及相關代碼,有需要的小伙伴可以參考下
    2017-07-07
  • python使用pip安裝SciPy、SymPy、matplotlib教程

    python使用pip安裝SciPy、SymPy、matplotlib教程

    今天小編大家分享一篇python使用pip安裝SciPy、SymPy、matplotlib教程,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-11-11
  • 十條建議幫你提高Python編程效率

    十條建議幫你提高Python編程效率

    這篇文章主要為大家介紹了十條建議,可以幫你提高Python編程效率的10條,想要提升提高Python編程效率的朋友不要錯過
    2016-02-02
  • python 3利用Dlib 19.7實現(xiàn)攝像頭人臉檢測特征點標定

    python 3利用Dlib 19.7實現(xiàn)攝像頭人臉檢測特征點標定

    這篇文章主要為大家詳細介紹了python 3利用Dlib 19.7實現(xiàn)攝像頭人臉檢測特征點標定,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-02-02

最新評論