python画圣诞树【方块圣诞树、线条圣诞树、豪华圣诞树】
生活随笔
收集整理的這篇文章主要介紹了
python画圣诞树【方块圣诞树、线条圣诞树、豪华圣诞树】
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
文章目錄
- 1.方塊圣誕樹
- 2.線條圣誕樹
- 3.豪華圣誕樹
這篇文章主要介紹了使用Python畫了一棵圣誕樹的實例代碼,本文通過實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
據說圣誕樹 [2] 最早出現在古羅馬12月中旬的農神節,德國傳教士尼古斯在公元8世紀用樅樹供奉圣嬰。隨后,德國人把12月24日作為亞當和夏娃的節日,在家放上象征伊甸園的“樂園樹”,上掛代表圣餅的小甜餅,象征贖罪;還點上蠟燭和球,象征基督。到16世紀,宗教改革者馬丁·路德,為求得一個滿天星斗的圣誕之夜,設計出在家中布置一顆裝著蠟燭和球的圣誕樹。
18世紀,開始在德國信義宗信徒流行,19世紀流行與德國全國,成為德國根深蒂固的傳統。
19世紀初期,圣誕樹傳到英國;
圣誕樹風俗
圣誕樹風俗(4張)
19世紀中葉,艾伯特(維多利亞女王的丈夫、德國皇子)加以推廣普及。維多利亞式圣誕樹飾以蠟燭、糖果和花色糕點,用 [2] 絲帶和紙鏈吊掛在樹枝上。
早在17世紀圣誕樹即由德國移民帶到北美,至19世紀廣為流行。在奧地利、瑞士、波蘭和荷蘭也頗流行。
在中國和日本,圣誕樹于19及20世紀由美國傳教士傳入,多飾以彩色繽紛的紙花。
如何用python畫一個圣誕樹呢?
Turtle庫來畫圣誕樹。
1.方塊圣誕樹
import turtle screen = turtle.Screen() screen.setup(375, 700) circle = turtle.Turtle() circle.shape('circle') circle.color('red') circle.speed('fastest') circle.up() square = turtle.Turtle() square.shape('square') square.color('green') square.speed('fastest') square.up() circle.goto(0, 280) circle.stamp() k = 0 for i in range(1, 13):y = 30 * ifor j in range(i - k):x = 30 * jsquare.goto(x, -y + 280)square.stamp()square.goto(-x, -y + 280)square.stamp() if i % 4 == 0:x = 30 * (j + 1)circle.color('red')circle.goto(-x, -y + 280)circle.stamp()circle.goto(x, -y + 280)circle.stamp()k += 3 if i % 4 == 3:x = 30 * (j + 1)circle.color('yellow')circle.goto(-x, -y + 280)circle.stamp()circle.goto(x, -y + 280)circle.stamp() square.color('brown') for i in range(13, 17):y = 30 * ifor j in range(2):x = 30 * jsquare.goto(x, -y + 280)square.stamp()square.goto(-x, -y + 280)square.stamp()
圣誕樹,又名魚骨松、澳洲白粉金合歡、銀荊,含羞草科合歡屬。常綠喬木,高約15米,樹干較直,樹皮灰綠或灰色;二回羽狀復葉,偶數,小葉線形,銀灰色或淺灰藍色。原產澳大利亞東南部的維多利亞、新南威爾士和塔斯馬尼亞州。可作行道樹或在庭園作孤植、叢植布置。生長迅速,抗逆性強,適作荒山綠化先鋒樹及水土保持樹種。
2.線條圣誕樹
import turtle# 定義圣誕樹的綠葉函數 def tree(d, s):if d <= 0:returnturtle.forward(s)tree(d - 1, s * .8)turtle.right(120)tree(d - 3, s * .5)turtle.right(120)tree(d - 3, s * .5)turtle.right(120)turtle.backward(s) n = 100 """ 設置繪圖速度 'fastest' : 0 'fast' : 10 'normal' : 6 'slow' : 3 'slowest' : 1 """ turtle.speed('fastest') # 設置速度turtle.left(90) turtle.forward(3 * n) turtle.color("orange", "yellow") turtle.left(126)# turtle.begin_fill() for i in range(5):turtle.forward(n / 5)turtle.right(144)turtle.forward(n / 5)turtle.left(72)turtle.end_fill() turtle.right(126) turtle.color("dark green") turtle.backward(n * 4.8)# 執行函數 tree(15, n) turtle.backward(n / 5)3.豪華圣誕樹
import turtle as t #as就是取個別名,后續調用的t都是turtle from turtle import * import random as r import timen = 100.0speed("fastest") #定義速度 screensize(bg='black') #定義背景顏色,可以自己換顏色 left(90) forward(3*n) color("orange", "yellow")#定義最上端星星的顏色,外圈是orange,內部是yellow begin_fill() left(126)for i in range(5): #畫五角星forward(n/5)right(144) #五角星的角度forward(n/5)left(72) #繼續換角度 end_fill() right(126)def drawlight():#定義畫彩燈的方法if r.randint(0, 30) == 0:#如果覺得彩燈太多,可以把取值范圍加大一些,對應的燈就會少一些color('tomato')#定義第一種顏色circle(6)#定義彩燈大小elif r.randint(0,30) == 1:color('orange')#定義第二種顏色circle(3)#定義彩燈大小else:color('dark green')#其余的隨機數情況下畫空的樹枝color("dark green")#定義樹枝的顏色 backward(n*4.8) def tree(d, s):#開始畫樹if d <= 0: returnforward(s)tree(d-1, s*.8)right(120)tree(d-3, s*.5)drawlight()#同時調用小彩燈的方法right(120)tree(d-3, s*.5)right(120)backward(s) tree(15, n) backward(n/2)for i in range(200):#循環畫最底端的小裝飾a = 200 - 400 * r.random()b = 10 - 20 * r.random()up()forward(b)left(90)forward(a)down()if r.randint(0, 1) == 0:color('tomato')else:color('wheat')circle(2)up()backward(a)right(90)backward(b)t.color("dark red","red")#定義字體顏色 t.write("Merry Christmas",align ="center",font=("Comic Sans MS",40,"bold"))#定義文字、位置、字體、大小def drawsnow():#定義畫雪花的方法t.ht() #隱藏筆頭,ht=hideturtlet.pensize(2) #定義筆頭大小for i in range(200): #畫多少雪花t.pencolor("white") #定義畫筆顏色為白色,其實就是雪花為白色t.pu() #提筆,pu=penupt.setx(r.randint(-350,350)) #定義x坐標,隨機從-350到350之間選擇t.sety(r.randint(-100,350)) #定義y坐標,注意雪花一般在地上不會落下,所以不會從太小的縱座軸開始t.pd() #落筆,pd=pendowndens = 6 #雪花瓣數設為6snowsize = r.randint(1,10) #定義雪花大小for j in range(dens): #就是6,那就是畫5次,也就是一個雪花五角星#t.forward(int(snowsize)) #int()取整數t.fd(int(snowsize))t.backward(int(snowsize))#t.bd(int(snowsize)) #注意沒有bd=backward,但有fd=forward,小bugt.right(int(360/dens)) #轉動角度drawsnow()#調用畫雪花的方法 t.done() # 完成,否則會直接關閉
在正常條件下,10年內樹高年均生長量在1米以上,直徑年均生長量1厘米以上。強陽性樹種,樹冠具有趨光性,在幼齡期即需要充足光照。適于涼爽濕潤的亞熱帶氣候,能耐極端最低溫度一般不超過-7攝氏度,抗寒力優于黑荊等樹種。對土壤要求不嚴,適生于土層較深厚、疏松、濕潤的酸性至微酸性壤土或沙壤土,過于粘重、干燥和排水不良的土壤上則生長不良。有較強的耐旱能力,但山坡中下部或谷地生長更好。
總結
以上是生活随笔為你收集整理的python画圣诞树【方块圣诞树、线条圣诞树、豪华圣诞树】的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: unity学习:控制人物的移动
- 下一篇: 大众集团「换舵手」,软件战略从「自研优先