Python繪制隨機彩色蟒蛇方法淺析
今天老師提出了一個問題就是用turtle庫繪制隨機顏色的蟒蛇 并且每段的顏色都是不一樣的 所以我寫了這段代碼 這段代碼的思路是把不同顏色通過字典的方式存起來 通過隨機數(shù)庫就可以隨機生成對應的key來調用這些顏色從而實現(xiàn)隨機顏色的效果
import turtle
import random#導入隨機數(shù)模塊實現(xiàn)隨機顏色的功能
#把不同顏色用字典的方式儲存 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)#獲取隨機數(shù)并賦值給a
turtle.pencolor(colors[a])#通過索引的方式選擇顏色(顏色是隨機的)
turtle.circle(40,80)
a = random.randrange(1,7)#獲取隨機數(shù)并賦值給a
turtle.pencolor(colors[a])#通過索引的方式選擇顏色(顏色是隨機的)
turtle.circle(-40,80)
turtle.circle(40,80/2)
turtle.fd(40)
turtle.circle(16,180)
turtle.fd(40*2/3)
turtle.done()這個是運行結果

不過這樣子把一個一個顏色存進去太過麻煩 而且顏色太少了只局限于黑,綠 藍,紅,黃這幾種顏色 沒有達到隨機顏色的目的 所以我加以改進 代碼如下
import turtle
import random # 導入隨機數(shù)模塊實現(xiàn)隨機顏色的功能
turtle.colormode(255) # 把顏色表示法取值的模式從[0-1]之間改成[0-255]
#定義一個生成顏色的模塊
def colorchoose():
a, b, c = random.randrange(0, 256), random.randrange(0, 256), random.randrange(0, 256)
color = (a, b, c)
return color #返回值是一個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()) # 調用模塊 隨機生成rgb顏色
turtle.circle(40, 80)
turtle.pencolor(colorchoose()) # 調用模塊 隨機生成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顏色的三個參數(shù) 所以我讓他們變?yōu)殡S機的 范圍定在0-255(注:python里的rgb顏色參數(shù)模式默認是0-1 用turtle的話需要用turtle.colormode(255) 語句把模式轉換成0-255否則會報錯) 定義了一個模塊的原因是因為不停通過賦值的方式改變rgb的三個參數(shù)是在太麻煩 所以通過調用具有生成隨機顏色功能的模塊的方式更加省力 以下是運行結果

看,隨機顏色的功能是不是實現(xiàn)了?
到此這篇關于Python繪制隨機彩色蟒蛇方法淺析的文章就介紹到這了,更多相關Python繪制彩色蟒蛇內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
Python創(chuàng)建相同值數(shù)組/列表的兩種方法
眾所周知數(shù)組是一種用來在計算機中存儲連續(xù)的相同類型數(shù)值的數(shù)據結構,這篇文章主要給大家介紹了關于Python創(chuàng)建相同值數(shù)組/列表的兩種方法,文中通過示例代碼介紹的非常詳細,需要的朋友可以參考下2022-12-12
pandas DataFrame 根據多列的值做判斷,生成新的列值實例
今天小編就為大家分享一篇pandas DataFrame 根據多列的值做判斷,生成新的列值實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-05-05
tensorflow實現(xiàn)從.ckpt文件中讀取任意變量
這篇文章主要介紹了tensorflow實現(xiàn)從.ckpt文件中讀取任意變量,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-05-05
Python通過調用有道翻譯api實現(xiàn)翻譯功能示例
這篇文章主要介紹了Python通過調用有道翻譯api實現(xiàn)翻譯功能,結合實例形式分析了基于Python實現(xiàn)的有道翻譯api調用相關操作技巧,需要的朋友可以參考下2018-07-07
python 在右鍵菜單中加入復制目標文件的有效存放路徑(單斜杠或者雙反斜杠)
這篇文章主要介紹了python 在右鍵菜單中加入復制目標文件的有效存放路徑(單斜杠或者雙反斜杠),本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2020-04-04

