用python画圣诞树的代码
如何用python画一个圣诞树呢?
一、最简单的绘制圣诞树
代码也特别简单:
# 最简单的绘制圣诞树 height = 5 # 树的高度 stars = 1 # 树的雪花数,初始为1 for i in range(height): # 以树的高度作为循坏次数 print(( * (height - i)) + (* * stars)) stars += 2 print((*height)+|) # 输出树干
运行结果:
二、使用turtle绘制简单圣诞树
# 导入turtle库 import turtle # 设置屏幕大小 screen = turtle.Screen() screen.setup(375, 700) # 获取画笔并设置一些属性:圆形、红色、快 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, 13): 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 += 3 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(13, 17): y = 30 * i for j in range(2): x = 30 * j square.goto(x, -y + 280) square.stamp() square.goto(-x, -y + 280) square.stamp()
运行结果:
三、使用Turtle绘制复杂圣诞树
import turtle # 定义圣诞树的绿叶函数 def tree(d, s): if d <= 0: return turtle.forward(s) tree(d - 1, s * .8) turtle.right(120) tree(d - 3, s * .5) turtle.right(120) tree(d - 3, s * .5) turtle.right(120) turtle.backward(s) n = 100 """ 设置绘图速度 fastest : 0 fast : 10 normal : 6 slow : 3 slowest : 1 """ turtle.speed(fastest) # 设置速度 turtle.left(90) turtle.forward(3 * n) turtle.color("orange", "yellow") turtle.left(126) # turtle.begin_fill() for i in range(5): turtle.forward(n / 5) turtle.right(144) turtle.forward(n / 5) turtle.left(72) turtle.end_fill() turtle.right(126) turtle.color("dark green") turtle.backward(n * 4.8) # 执行函数 tree(15, n) turtle.backward(n / 5)
运行结果:
本是动态效果,运行出来的结果就是这样,大家感兴趣的话可以自己试一试
祝大家圣诞节快乐哦!!!
https://blog..net/bigzql/article/details/110124594
下一篇:
羊了个羊增加版:鸡了个鸡,坤了个坤