蹭个洋年的热点,练一下刚学的 turtle 库。
本来想加个亮闪闪的灯光的效果,想来想去,只能想到利用time.sleep()
来重复绘制圆球,没别的好方法,就暂时不写了。等以后道行更高一点,再来补充这段代码。
也非常欢迎可以画出美丽圣诞树的朋友们来交流!
import math
import turtle
def triangle(length):
turtle.setheading(225)
turtle.pendown()
turtle.begin_fill()
turtle.forward(math.sqrt(2)*length)
turtle.left(135)
turtle.forward(length*2)
turtle.left(135)
turtle.forward(math.sqrt(2)*length)
turtle.end_fill()
turtle.penup()
turtle.setheading(90)
# 画树冠(几个等边直角三角形)
def crown(side_length):
turtle.pensize(2)
turtle.color('black', 'green')
for i in range(5, 0, -1):
triangle(side_length*i)
turtle.forward(side_length*i/4)
# 画树干(一个长方形)
def trunk(trunk_width):
turtle.color('#A52A2A')
turtle.begin_fill()
turtle.setheading(270)
turtle.forward(trunk_width)
turtle.left(90)
turtle.forward(trunk_width*2)
turtle.left(90)
turtle.forward(trunk_width)
turtle.end_fill()
# 把树干和树冠拼成一棵树
def tree(side_length):
turtle.hideturtle()
turtle.penup()
turtle.speed(15)
turtle.goto(0, 0-side_length*2)
crown(side_length)
turtle.goto(0-side_length, 0-side_length*7)
trunk(side_length)
turtle.exitonclick()
if __name__ == '__main__':
tree(30)