Python繪制隨機(jī)彩色蟒蛇方法淺析
今天老師提出了一個(gè)問題就是用turtle庫(kù)繪制隨機(jī)顏色的蟒蛇 并且每段的顏色都是不一樣的 所以我寫了這段代碼 這段代碼的思路是把不同顏色通過字典的方式存起來 通過隨機(jī)數(shù)庫(kù)就可以隨機(jī)生成對(duì)應(yīng)的key來調(diào)用這些顏色從而實(shí)現(xiàn)隨機(jī)顏色的效果
import turtle import random#導(dǎo)入隨機(jī)數(shù)模塊實(shí)現(xiàn)隨機(jī)顏色的功能 #把不同顏色用字典的方式儲(chǔ)存 key為1到6的整數(shù) colors = {1:'blue',2:'yellow',3:'red',4:'purple',5:'black',6:'green'} turtle.setup(650,350,200,200) turtle.pu() turtle.fd(-250) turtle.pendown() turtle.width(25) turtle.seth(-40) for i in range(4): a = random.randrange(1,7)#獲取隨機(jī)數(shù)并賦值給a turtle.pencolor(colors[a])#通過索引的方式選擇顏色(顏色是隨機(jī)的) turtle.circle(40,80) a = random.randrange(1,7)#獲取隨機(jī)數(shù)并賦值給a turtle.pencolor(colors[a])#通過索引的方式選擇顏色(顏色是隨機(jī)的) turtle.circle(-40,80) turtle.circle(40,80/2) turtle.fd(40) turtle.circle(16,180) turtle.fd(40*2/3) turtle.done()
這個(gè)是運(yùn)行結(jié)果
不過這樣子把一個(gè)一個(gè)顏色存進(jìn)去太過麻煩 而且顏色太少了只局限于黑,綠 藍(lán),紅,黃這幾種顏色 沒有達(dá)到隨機(jī)顏色的目的 所以我加以改進(jìn) 代碼如下
import turtle import random # 導(dǎo)入隨機(jī)數(shù)模塊實(shí)現(xiàn)隨機(jī)顏色的功能 turtle.colormode(255) # 把顏色表示法取值的模式從[0-1]之間改成[0-255] #定義一個(gè)生成顏色的模塊 def colorchoose(): a, b, c = random.randrange(0, 256), random.randrange(0, 256), random.randrange(0, 256) color = (a, b, c) return color #返回值是一個(gè)rgb顏色 turtle.setup(650, 350, 200, 200) turtle.pu() turtle.fd(-250) turtle.pendown() turtle.width(25) turtle.seth(-40) for i in range(4): turtle.pencolor(colorchoose()) # 調(diào)用模塊 隨機(jī)生成rgb顏色 turtle.circle(40, 80) turtle.pencolor(colorchoose()) # 調(diào)用模塊 隨機(jī)生成rgb顏色 turtle.circle(-40, 80) turtle.circle(40, 80 / 2) turtle.fd(40) turtle.circle(16, 180) turtle.fd(40 * 2 / 3) turtle.done()
這段代碼里的顏色變換直接取決于rgb顏色的三個(gè)參數(shù) 所以我讓他們變?yōu)殡S機(jī)的 范圍定在0-255(注:python里的rgb顏色參數(shù)模式默認(rèn)是0-1 用turtle的話需要用turtle.colormode(255) 語(yǔ)句把模式轉(zhuǎn)換成0-255否則會(huì)報(bào)錯(cuò)) 定義了一個(gè)模塊的原因是因?yàn)椴煌Mㄟ^賦值的方式改變r(jià)gb的三個(gè)參數(shù)是在太麻煩 所以通過調(diào)用具有生成隨機(jī)顏色功能的模塊的方式更加省力 以下是運(yùn)行結(jié)果
看,隨機(jī)顏色的功能是不是實(shí)現(xiàn)了?
到此這篇關(guān)于Python繪制隨機(jī)彩色蟒蛇方法淺析的文章就介紹到這了,更多相關(guān)Python繪制彩色蟒蛇內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
10個(gè)Python常用的損失函數(shù)及代碼實(shí)現(xiàn)分享
損失函數(shù)是一種衡量模型與數(shù)據(jù)吻合程度的算法。損失函數(shù)測(cè)量實(shí)際測(cè)量值和預(yù)測(cè)值之間差距的一種方式。本文為大家總結(jié)了10個(gè)常用的損失函數(shù)及Python代碼實(shí)現(xiàn),需要的可以參考一下2022-09-09Python中l(wèi)ogger模塊的使用場(chǎng)景分析
logger是python的內(nèi)置模塊,用以輸出代碼運(yùn)行過程中的運(yùn)行情況,極大的方便了我們的debug過程,本文通過實(shí)例代碼給大家介紹了Python中l(wèi)ogger模塊的使用教程,需要的朋友可以參考下2023-06-06python實(shí)現(xiàn)猜拳游戲項(xiàng)目
這篇文章主要為大家詳細(xì)介紹了python實(shí)現(xiàn)猜拳游戲項(xiàng)目,以excel形式保存信息,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2020-11-11TensorFlow實(shí)現(xiàn)Batch Normalization
這篇文章主要為大家詳細(xì)介紹了TensorFlow實(shí)現(xiàn)Batch Normalization,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-03-03python中opencv圖像疊加、圖像融合、按位操作的具體實(shí)現(xiàn)
opencv圖像操作可以更好更快的方便我們處理圖片,本文主要介紹了圖像疊加、圖像融合、按位操作,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-07-07Python Websocket服務(wù)端通信的使用示例
這篇文章主要介紹了Python Websocket服務(wù)端通信的使用示例,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-02-02