Python程式設計 聖誕樹教程 (附程式碼)程式設計師的浪漫

專注的阿熊發表於2022-12-13

import turtle as  t

from turtle import *

import random as r

import  time

# 定義幾個函式先

# 定義畫彩燈的函式

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')

# 定義畫聖誕樹的函式

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)

# 定義樹下面小裝飾的函式

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)

# 定義一個畫雪花的函式

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("跟單網gendan5.comdark green")

backward(n * 4.8)

# 呼叫畫樹的函式

tree(15 , n)

backward(n/2)

xzs()

# 寫文字

t.color("dark red", "red")

t.write("Merry Christmas",, font=("Comic Sans MS", 40, "bold"))

# 呼叫雪花函式

drawsnow()

t.done()    # 收筆


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69946337/viewspace-2927936/,如需轉載,請註明出處,否則將追究法律責任。

相關文章