1 引言
又到了讓人開心的周末啦,細細一算,還有一周馬上就圣誕節啦!

各位小伙伴們是不是都蠢蠢欲動啦,希望大家圣誕節都識訓美美的故事呀!
今天我們來教大家怎么使用Python畫圣誕樹,,,
2 圣誕樹黑白版本
初級版本當然就是黑白字符簡易效果啦,代碼如下:
def demo1():
height = 5
stars = 1
for i in range(height):
print((' ' * (height - i)) + ('*' * stars))
stars += 2
print((' ' * height) + '|')
if __name__ == "__main__":
demo1()
運行效果如下:

短小精致的字符效果版圣誕樹氣質一下子就上來了,,,
3 海龜繪圖
哈哈哈,看到黑白版圣誕樹,是不是有種被欺騙的感覺,和我們想象的彩色世界是不一樣滴,
好嘛,滿足你的需求,我們接著使用turtle包來實作彩色版圣誕樹,
turtle包本身是一個繪圖庫,但是配合Python代碼,就可以繪制各種復雜的圖形,
很多同學不太熟悉turtle(海龜繪圖)包,我們來看一段繪制長方形的代碼,來對其進行直觀的認識,
# 匯入turtle包的所有內容:
from turtle import *
# 設定筆刷寬度:
width(4)
# 前進:
forward(200)
# 右轉90度:
right(90)
# 筆刷顏色:
pencolor('red')
forward(100)
right(90)
pencolor('green')
forward(200)
right(90)
pencolor('blue')
forward(100)
right(90)
# 呼叫done()使得視窗等待被關閉,否則將立刻關閉視窗:
done()
在命令列運行上述代碼,會自動彈出一個繪圖視窗,然后繪制出一個長方形:

從上述代碼可以看出,海龜繪圖就是指揮海龜前進、轉向,海龜移動的軌跡就是繪制的線條,要繪制一個長方形,只需要讓海龜前進、右轉90度,反復4次,
呼叫width()函式可以設定筆刷寬度,呼叫pencolor()函式可以設定顏色,更多操作請參考turtle庫的說明,
繪圖完成后,記得呼叫done()函式,讓視窗進入訊息回圈,等待被關閉,否則,由于Python行程會立刻結束,將導致視窗被立刻關閉,
4 圣誕樹彩色版本
來了,再簡單介紹玩海龜畫圖的基本操作之后,我們來畫我們彩色版的圣誕樹,代碼如下:
def demo2():
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 * i
for j in range(i - k):
x = 30 * j
square.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 * i
for j in range(2):
x = 30 * j
square.goto(x, -y + 280)
square.stamp()
square.goto(-x, -y + 280)
square.stamp()
turtle.done()
運行結果如下:

5 總結
本文實作了利用Python分別繪制黑白版圣誕樹和彩色版圣誕樹效果,并給出了完整代碼實體,
您學廢了嗎?
6 參考
鏈接一
鏈接二

關注公眾號《AI演算法之道》,獲取更多AI演算法資訊,
關注公眾號,后臺回復圣誕樹,即可獲取源代碼,
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/386602.html
標籤:python
