python圣诞树代码
1、简单的绘制圣诞树
新建tree1.py或者直接输入下面代码运行(推荐学习:Python教程)
#声明树的高度 height = 5 #树的雪花数,初始为1 stars = 1 #以数的高度作为循环次数 for i in range(height): print((' ' * (height - i)) + ('*' * stars)) stars += 2 #输出树干 print((' ' * height) + '|')
2、使用turtle绘制简单圣诞树
新建tree2py,输入以下代码
#导入turtle库 import turtle #设置屏幕大小 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 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()
运行:
关注微信公众号:编程之家网课程,回复 sd 或者 圣诞 即可获取更多圣诞节特效代码!
(微信扫一扫)
3、使用Turtle绘制复杂圣诞树
新建tree3.py,输入以下代码
#导入所依赖的库 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) time.sleep(60)
运行:
原文地址:https://www.jb51.cc/python/1195213.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。