一步步教你用python代碼畫一幅星空
前言
運行代碼后,會在畫布上畫出一些大小不同、位置隨機的白色星星,就像是一幅星空一樣。你可以根據(jù)自己的需求修改代碼,調(diào)整畫布大小、星星數(shù)量和大小等參數(shù),讓畫出來的星空更加逼真。
效果如圖所示

代碼如下
import turtle
import random
# 設(shè)置畫布大小和背景顏色
turtle.setup(800, 600)
turtle.bgcolor('black')
# 定義星星函數(shù)
def draw_star(x, y, size):
turtle.penup()
turtle.goto(x, y)
turtle.pendown()
turtle.color('white')
turtle.begin_fill()
for i in range(5):
turtle.forward(size)
turtle.right(144)
turtle.end_fill()
# 畫星星
for i in range(50):
x = random.randint(-400, 400)
y = random.randint(-300, 300)
size = random.randint(5, 20)
draw_star(x, y, size)
# 隱藏畫筆
turtle.hideturtle()
# 顯示畫布
turtle.done()import turtle # 導(dǎo)入turtle模塊
import random # 導(dǎo)入random模塊,用于生成隨機數(shù)
# 設(shè)置畫布大小和背景顏色
turtle.setup(800, 600) # 設(shè)置畫布大小為800x600像素
turtle.bgcolor('black') # 設(shè)置背景顏色為黑色
# 定義星星函數(shù)
def draw_star(x, y, size):
"""
畫星星的函數(shù)
:param x: 星星的x坐標(biāo)
:param y: 星星的y坐標(biāo)
:param size: 星星的大小
"""
turtle.penup() # 抬起畫筆,不繪制軌跡
turtle.goto(x, y) # 將畫筆移動到指定坐標(biāo)
turtle.pendown() # 放下畫筆,開始繪制軌跡
turtle.color('white') # 設(shè)置畫筆顏色為白色
turtle.begin_fill() # 開始填充圖形
for i in range(5): # 循環(huán)5次,畫出五角星
turtle.forward(size) # 向前移動size個像素
turtle.right(144) # 向右旋轉(zhuǎn)144度
turtle.end_fill() # 結(jié)束填充圖形
# 畫星星
for i in range(50): # 循環(huán)50次,畫出50個星星
x = random.randint(-400, 400) # 隨機生成x坐標(biāo)
y = random.randint(-300, 300) # 隨機生成y坐標(biāo)
size = random.randint(5, 20) # 隨機生成星星的大小
draw_star(x, y, size) # 調(diào)用draw_star函數(shù),畫出一個星星
turtle.hideturtle() # 隱藏畫筆,不顯示畫筆形狀
turtle.done() # 顯示畫布,進入消息循環(huán),等待用戶操作總結(jié)
到此這篇關(guān)于用python代碼畫一幅星空的文章就介紹到這了,更多相關(guān)python代碼畫星空內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
PyQt5連接MySQL及QMYSQL driver not loaded錯誤解決
這篇文章主要介紹了PyQt5連接MySQL及QMYSQL driver not loaded錯誤解決,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-04-04
解決python將xml格式文件轉(zhuǎn)換成txt文件的問題(xml.etree方法)
從數(shù)據(jù)分析的角度去看xml格式的數(shù)據(jù)集,具有簡單性,結(jié)構(gòu)和內(nèi)容分離、可擴展性的特征,今天通過本文給大家分享python將xml格式文件轉(zhuǎn)換成txt文件的問題及解決方法(xml.etree方法),感興趣的朋友一起看看吧2021-09-09
Django JSONField的自動轉(zhuǎn)換思路詳解(django自定義模型字段)
如果想實現(xiàn)JSONField的自動轉(zhuǎn)換,可以使用Django REST framework的JSONField,或者自定義一個字段類并覆蓋from_db_value()和get_prep_value()方法來實現(xiàn)這個功能,這篇文章主要介紹了Django JSONField的自動轉(zhuǎn)換(django自定義模型字段)問題,需要的朋友可以參考下2023-06-06
pandas 數(shù)據(jù)實現(xiàn)行間計算的方法
今天小編就為大家分享一篇pandas 數(shù)據(jù)實現(xiàn)行間計算的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-06-06

