教你用Python畫了一棵聖誕樹

2021-10-11 17:44:39 字數 4415 閱讀 2600

如何用python畫乙個聖誕樹呢?

最簡單:

height = 5stars = 1for i in range(height):

print((' ' * (height - i)) + ('*' * stars))

stars += 2

print((' ' * height) + '|')

效果:

哈哈哈哈,總有一種騙了大家的感覺。

其實本文是想介紹turtle庫來畫聖誕樹。

import turtlescreen = 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()

效果:

方法二:

import turtle# 定義聖誕樹的綠葉函式

def tree(d, s):

if d <= 0:

return

turtle.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)

效果:

Python用turtle模組畫一棵漂亮的星星樹

童話中,樹上長滿星星,五顏六色的,非常漂亮的星星樹 今天,用python 可以實現,電腦幫你畫出來,每次執行都完全隨機 五角星擁有隨機的顏色和大小,如圖 下面是我寫的源 相當簡短哦 import turtle random turtle.screensize 900,600,papayawhip t...

用Python語音構建一棵樹

從每乙個樹杈開始 基本思路是畫乙個 y 型,從根部出發,然後再返回根部,然後根據需要進行轉向與迭代。只要注意筆尖的方向就好。1 def greeny 2 turtle.fd 40 3 turtle.left 30 4 turtle.fd 20 5 turtle.backward 20 6 turtl...

JZOJ 4211 送你一棵聖誕樹

有n 1 顆樹,編號為t0 tn 對於每一棵樹ti,他在第ta i 棵樹的第ci 個點和第tb i 棵樹的第di 個點之間連上了一條長度為le ni的邊。在ti 中,他保持ta i 中的所有節點編號不變,把tb i 中的所有節點的編號加上si zeai 我們定義一棵樹的美觀度為兩兩點之間的距離之和,...