Python turtle圣诞树
生活随笔
收集整理的這篇文章主要介紹了
Python turtle圣诞树
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
import turtle as t # as就是取個別名,后續調用的t都是turtle
from turtle import *
import random as r
import time# t.tracer(False)
n = 100.0
t.pensize(5)
speed("fastest") # 定義速度
screensize(bg='SkyBlue') # 定義背景顏色,可以自己換顏色
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, 60) == 0: # 如果覺得彩燈太多,可以把取值范圍加大一些,對應的燈就會少一些color('red') # 定義第一種顏色circle(6) # 定義彩燈大小elif r.randint(0, 30) == 1:color('orange') # 定義第二種顏色circle(3) # 定義彩燈大小elif r.randint(0, 100) == 2:color('blue') # 定義第二種顏色circle(3) # 定義彩燈大小else:t.pensize(4)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.back(100)
t.color("dark red", "red") # 定義字體顏色
t.write("Merry Christmas", align="center", font=("Segoe Script", 40, "bold")) # 定義文字、位置、字體、大小
t.back(50)
t.write("ZYT", align="center", font=("Segoe Script", 40, "bold")) # 定義文字、位置、字體、大小def drawsnow(): # 定義畫雪花的方法t.ht() # 隱藏筆頭,ht=hideturtlet.pensize(2) # 定義筆頭大小for i in range(150): # 畫多少雪花t.pencolor('white') # 定義畫筆顏色為白色,其實就是雪花為白色t.pu() # 提筆,pu=penupt.setx(r.randint(-400, 400)) # 定義x坐標,隨機從-350到350之間選擇t.sety(r.randint(-200, 400)) # 定義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() # 完成,否則會直接關閉
總結
以上是生活随笔為你收集整理的Python turtle圣诞树的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Android,firefly3399开
- 下一篇: 学习笔记14--其他自动驾驶开发平台