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(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。