一、前言
1.本章將會講解Python編程 實現(xiàn)圣誕樹效果!
2.圣誕節(jié)介紹
基督教紀念耶穌誕生的重要節(jié)日。亦稱耶穌圣誕節(jié)、主降生節(jié),天主教亦稱耶穌圣誕瞻禮。耶穌誕生的日期,《圣經(jīng)》并無記載。公元336年羅馬教會開始在12月25日過此節(jié)。12月25日原是羅馬帝國規(guī)定的太陽神誕辰。有人認為選擇這天慶祝圣誕,是因為基督教徒認為耶穌就是正義、永恒的太陽。5世紀中葉以后,圣誕節(jié)作為重要節(jié)日,成了教會的傳統(tǒng),并在東西派教會中逐漸傳開。因所用歷法不同等原因,各教派會舉行慶祝的具體日期和活動形式也有差別。圣誕節(jié)習俗傳播到亞洲主要是在十九世紀中葉,日本、韓國等都受到了圣誕文化的影響?,F(xiàn)在西方在圣誕節(jié)?;ベ浂Y物,舉行歡宴,并以圣誕老人、圣誕樹等增添節(jié)日氣氛,已成為普遍習俗。圣誕節(jié)也成為西方世界以及其他很多地區(qū)的公共假日。
二、應(yīng)用的技術(shù)
1.turtle庫
turtle庫是Python語言中一個很流行的繪制圖像的函數(shù)庫,想象一個小烏龜,在一個橫軸為x、縱軸為y的坐標系原點,(0,0)位置開始,它根據(jù)一組函數(shù)指令的控制,在這個平面坐標系中移動,從而在它爬行的路徑上繪制了圖形。
2.python函數(shù)的定義規(guī)則
- (1)以 def 開頭,后接定義函數(shù)的名稱和圓括號(),以冒號結(jié)尾
- (2)圓括號()可為空,也可以傳入?yún)?shù)
- (3)定義函數(shù)的內(nèi)容,與def有縮進關(guān)系
- (4)調(diào)用自定義的函數(shù)的基本格式為:定義函數(shù)的名稱();若圓括號()為空,調(diào)用時,也為空,若若圓括號()不為空,調(diào)用時需傳入?yún)?shù)
- (5)return [表達式] 結(jié)束函數(shù),選擇性地返回一個值給調(diào)用方。不帶表達式的return相當于返回 None。
三、效果展示
?文章來源:http://www.zghlxwxcb.cn/news/detail-775469.html
四、實現(xiàn)步驟
- 引入庫
- 定義畫彩燈函數(shù)
- 定義畫圣誕樹的函數(shù)
- 定義樹下面小裝飾的函數(shù)
- 定義一個畫雪花的函數(shù)?
- 畫五角星
- 寫文字
五、編碼實現(xiàn)
import turtle as t
from turtle import *
import random as r
import time
#定義幾個函數(shù)先
#定義畫彩燈的函數(shù)
def drawlight():
if r.randint(0,30) == 0:
color('tomato')
circle(6)
elif r.randint(0,30) == 1:
color('orange')
circle(3)
else:
linewidth = 5
color('dark green')
#定義畫圣誕樹的函數(shù)
def tree(d,s):
if d <= 0: return
forward(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)
#定義樹下面小裝飾的函數(shù)
def xzs():
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)
#定義一個畫雪花的函數(shù)
def drawsnow():
t.hideturtle()
t.pensize(2)
for i in range(200):
t.pencolor("white")
t.penup()
t.setx(r.randint(-350,350))
t.sety(r.randint(-100,350))
t.pendown()
dens = 6
snowsize = r.randint(1,10)
for j in range(dens):
t.forward(int(snowsize))
t.backward(int(snowsize))
t.right(int(360/dens))
n=100.0
t.pensize(10)
speed("fastest")
t.screensize(800,600, "black")
left(90)
forward(3 * n)
color("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)
color("dark green")
backward(n * 4.8)
#調(diào)用畫樹的函數(shù)
tree(15 , n)
backward(n/2)
xzs()
#寫文字
t.color("dark red", "red")
t.write("Merry Christmas", align="center", font=("Comic Sans MS", 40, "bold"))
# 調(diào)用雪花函數(shù)
drawsnow()
t.done() #收筆
創(chuàng)作不易,求關(guān)注,點贊,收藏,謝謝~?文章來源地址http://www.zghlxwxcb.cn/news/detail-775469.html
到了這里,關(guān)于Python 圣誕樹代碼的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!