python圣誕樹編寫實例詳解
更新時間:2020年02月13日 10:45:22 作者:angryTom
在本篇文章里小編給大家整理的是關(guān)于python圣誕樹代碼的相關(guān)內(nèi)容,有興趣的朋友們可以學(xué)習(xí)下。
python圣誕樹代碼
1、簡單的繪制圣誕樹
新建tree1.py或者直接輸入下面代碼運行
#聲明樹的高度
height = 5
#樹的雪花數(shù),初始為1
stars = 1
#以數(shù)的高度作為循環(huán)次數(shù)
for i in range(height):
print((' ' * (height - i)) + ('*' * stars))
stars += 2
#輸出樹干
print((' ' * height) + '|')

2、使用turtle繪制簡單圣誕樹
新建tree2py,輸入以下代碼
#導(dǎo)入turtle庫
import turtle
#設(shè)置屏幕大小
screen = turtle.Screen()
screen.setup(800,600)
#獲取畫筆并設(shè)置一些屬性:圓形、紅色、快
circle = turtle.Turtle()
circle.shape('circle')
circle.color('red')
circle.speed('fastest')
#抬起畫筆
circle.up()
#重新獲取畫筆
square = turtle.Turtle()
#重新設(shè)置畫筆屬性:四方形、綠色、快
square.shape('square')
square.color('green')
square.speed('fastest')
#重新抬起畫筆
square.up()
#跳到指定坐標位置
circle.goto(0,280)
#復(fù)制當前圖形
circle.stamp()
k = 0
for i in range(1, 17):
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 += 2
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(17,20):
y = 30*i
for j in range(3):
x = 30*j
square.goto(x,-y+280)
square.stamp()
square.goto(-x,-y+280)
square.stamp()
turtle.exitonclick()
運行:

3、使用Turtle繪制復(fù)雜圣誕樹
新建tree3.py,輸入以下代碼
#導(dǎo)入所依賴的庫
from turtle import *
import random
import time
n = 80.0
#設(shè)置速度快
speed("fastest")
#背景顏色 海貝殼色,偏粉色
screensize(bg='seashell')
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)
def tree(d, s):
if d <= 0: return
forward(s)
tree(d-1, s*.8)
right(120)
tree(d-3, s*.5)
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 * random.random()
b = 10 - 20 * random.random()
up()
forward(b)
left(90)
forward(a)
down()
if random.randint(0, 1) == 0:
color('tomato')
else:
color('wheat')
circle(2)
up()
backward(a)
right(90)
backward(b)
time.sleep(60)
運行:

以上就是python圣誕樹代碼的詳細內(nèi)容,感謝大家的學(xué)習(xí)和對腳本之家的支持。
相關(guān)文章
Python隨機函數(shù)random()使用方法小結(jié)
random()是Python中生成隨機數(shù)的函數(shù),是由random模塊控制,random()函數(shù)不能直接訪問,需要導(dǎo)入random 模塊,然后再通過相應(yīng)的靜態(tài)對象調(diào)用該方法才能實現(xiàn)相應(yīng)的功能2018-04-04
Python使用progressbar模塊實現(xiàn)的顯示進度條功能
這篇文章主要介紹了Python使用progressbar模塊實現(xiàn)的顯示進度條功能,簡單介紹了progressbar模塊的安裝,并結(jié)合實例形式分析了Python使用progressbar模塊顯示進度條的相關(guān)操作技巧,需要的朋友可以參考下2018-05-05
Python3如何將源目錄中的圖片用MD5命名并可以設(shè)定目標目錄
這篇文章主要介紹了Python3如何將源目錄中的圖片用MD5命名并可以設(shè)定目標目錄,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-02-02

