python圣诞树编写实例详解
python圣诞树代码
1、简单的绘制圣诞树
新建tree1.py或者直接输入下面代码运行
#声明树的高度
height=5
#树的雪花数,初始为1
stars=1
#以数的高度作为循环次数
foriinrange(height):
print((''*(height-i))+('*'*stars))
stars+=2
#输出树干
print((''*height)+'|')
2、使用turtle绘制简单圣诞树
新建tree2py,输入以下代码
#导入turtle库
importturtle
#设置屏幕大小
screen=turtle.Screen()
screen.setup(800,600)
#获取画笔并设置一些属性:圆形、红色、快
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
foriinrange(1,17):
y=30*i
forjinrange(i-k):
x=30*j
square.goto(x,-y+280)
square.stamp()
square.goto(-x,-y+280)
square.stamp()
ifi%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
ifi%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')
foriinrange(17,20):
y=30*i
forjinrange(3):
x=30*j
square.goto(x,-y+280)
square.stamp()
square.goto(-x,-y+280)
square.stamp()
turtle.exitonclick()
运行:
3、使用Turtle绘制复杂圣诞树
新建tree3.py,输入以下代码
#导入所依赖的库
fromturtleimport*
importrandom
importtime
n=80.0
#设置速度快
speed("fastest")
#背景颜色海贝壳色,偏粉色
screensize(bg='seashell')
left(90)
forward(3*n)
color("orange","yellow")
begin_fill()
left(126)
foriinrange(5):
forward(n/5)
right(144)
forward(n/5)
left(72)
end_fill()
right(126)
color("darkgreen")
backward(n*4.8)
deftree(d,s):
ifd<=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)
foriinrange(200):
a=200-400*random.random()
b=10-20*random.random()
up()
forward(b)
left(90)
forward(a)
down()
ifrandom.randint(0,1)==0:
color('tomato')
else:
color('wheat')
circle(2)
up()
backward(a)
right(90)
backward(b)
time.sleep(60)
运行:
以上就是python圣诞树代码的详细内容,感谢大家的学习和对毛票票的支持。
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:czq8825#qq.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。