用 turtle 画一棵圣诞树

蹭个洋年的热点,练一下刚学的 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)
圣诞树.png
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容