目录
前言
圣诞节只有四天了,想在圣诞节那一天送给自己喜爱的人第一个圣诞树吗?一起来看看怎么用python实现一棵圣诞树的绘制。
(1)黑白圣诞树
首先肯定是最简单的版本了。
上面是最简单的版本效果图,当然实现也十分简单,代码附在下面了。
tree_height = 5 # 这里可以随意设置值啊,因为只是用来设置圣诞树的高度。
tree_lefts = 1 # 这里就是用来控制每一行的树叶数目
for i in range(tree_height):
print(" " * (tree_height - i) + ("*" * tree_lefts)) # 这里是用来打印每一行数目,注意空格数目
tree_lefts += 2 # 这里我们设置每一行比上一行多两个
print((" " * tree_height) + "|") # 这里就是用来画树根,具体的格式可以自己修改
(2)进阶版本
进阶版本的圣诞树需要用到turtle库进行绘制,老样子,先上效果图,代码及注释会在最后。
:
代码如下
#导入所依赖的库
from turtle import *
import random
import time
n = 80.0
#设置速度快
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)
done()
(3)别样的圣诞树
这里还给大家准备了一个桌面的exe文件,效果图也放在下面了,双击就可以打开,链接放在下面了,需要自取。
链接:https://pan.baidu.com/s/1fYYOUlvbe6lgdLAZRitjkw
提取码:jkpr