Python如何制作圣诞树和圣诞树词云
发表于:2026-11-04 作者:千家信息网编辑
千家信息网最后更新 2026年11月04日,这篇文章将为大家详细讲解有关Python如何制作圣诞树和圣诞树词云,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。一、前言圣诞节庆祝和送礼物貌似现在已经成为全球流行的
千家信息网最后更新 2026年11月04日Python如何制作圣诞树和圣诞树词云
这篇文章将为大家详细讲解有关Python如何制作圣诞树和圣诞树词云,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。
一、前言
圣诞节庆祝和送礼物貌似现在已经成为全球流行的习惯~

本文利用 Python 制作圣诞树和词云,教会你多种方法,代码直接运行即可,学会拿去送给你想要祝福的人吧~~
二、Python画圣诞树
1. 圣诞树1号
# -*- coding: UTF-8 -*-"""@Author :叶庭云@公众号 :AI庭云君@CSDN :https://yetingyun.blog.csdn.net/"""import turtlescreen = 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, j = 0, 0for 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.mainloop()效果如下:

2. 圣诞树2号
# -*- coding: UTF-8 -*-"""@Author :叶庭云@公众号 :AI庭云君@CSDN :https://yetingyun.blog.csdn.net/"""from turtle import *import turtleimport randomn = 100.0speed(96)turtle.setup(width=800, height=720)# 用screensize设置的是画布大小及背景色screensize(800, 800, "White")left(90)forward(3 * n)color("red", "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("#00CC00")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('#FF0066') else: color('#FF6600') circle(2) up() backward(a) right(90) backward(b)turtle.mainloop()效果如下:
还可以更改背景,加上下雪特效!如下所示:
# 画雪花关键代码def drawsnow(): # 定义画雪花的方法 t.ht() # 隐藏笔头,ht=hideturtle t.pensize(2) # 定义笔头大小 for i in range(200): # 画多少雪花 t.pencolor("white") # 定义画笔颜色为白色,其实就是雪花为白色 t.pu() # 提笔,pu=penup t.setx(r.randint(-350, 350)) # 定义x坐标,随机从-350到350之间选择 t.sety(r.randint(-100, 350)) # 定义y坐标,注意雪花一般在地上不会落下,所以不会从太小的纵座轴开始 t.pd() # 落笔,pd=pendown dens = 6 # 雪花瓣数设为6 snowsize = r.randint(1, 10) # 定义雪花大小 for j in range(dens): # 就是6,那就是画5次,也就是一个雪花五角星 # t.forward(int(snowsize)) #int()取整数 t.fd(int(snowsize)) t.backward(int(snowsize)) # t.bd(int(snowsize)) #注意没有bd=backward,但有fd=forward,小bug t.right(int(360 / dens)) # 转动角度drawsnow() # 调用画雪花的方法3. 圣诞树3号
画一颗漂亮的圣诞树!!代码过长,限于篇幅不贴在文中,效果如下所示:
三、Python制作圣诞树词云
做词云得有关键词素材,这就去百度文库高校版下载一些圣诞祝福文章~~
12篇差不多够了吧
接下来上 Python 代码!!!!!!
# -*- coding: UTF-8 -*-"""@Author : 叶庭云@公众号 : AI庭云君@CSDN : https://yetingyun.blog.csdn.net/"""import jiebaimport refrom stylecloud import gen_stylecloudfrom PIL import Imageimport numpy as npwith open('./圣诞素材/Christmas.txt', encoding="utf-8") as f: data = f.read()# 文本预处理 去除一些无用的字符 只提取出中文出来new_data = re.findall('[\u4e00-\u9fa5]+', data, re.S)new_data = "/".join(new_data)# 文本分词 精确模式seg_list_exact = jieba.cut(new_data, cut_all=False)# 加载停用词with open('stop_words.txt', encoding='utf-8') as f: # 获取每一行的停用词 添加进集合 con = f.read().split('\n') stop_words = set() for i in con: stop_words.add(i)# 列表解析式 去除停用词和单个词result_list = [word for word in seg_list_exact if word not in stop_words and len(word) > 1]print(result_list)# 个人推荐使用的palette配色方案 效果挺好看 其他测试过 感觉一般~~# colorbrewer.qualitative.Dark2_7# cartocolors.qualitative.Bold_5# colorbrewer.qualitative.Set1_8gen_stylecloud( text=' '.join(result_list), # 文本数据 size=600, # 词云图大小 font_path=r'./font/猫啃网糖圆体.ttf', # 中文词云 显示需要设置字体 icon_name = "fas fa-tree", # 图标 output_name='./results/圣诞树06.png', # 输出词云图名称 palette='cartocolors.qualitative.Bold_5', # 选取配色方案)效果如下所示:
四、彩蛋
在逛 Gitee 上还发现有人上传了 exe 可以直接生成圣诞树(貌似是C#做的?),效果如下所示:
关于"Python如何制作圣诞树和圣诞树词云"这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。
圣诞树
雪花
效果
制作
代码
大小
公众
就是
文本
方法
篇文章
颜色
UTF-8
云图
五角星
关键
坐标
文章
方案
更多
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
华服互联网科技怎么样
科技互联网政务服务
互联网品科技
盈实互联网科技
关于新基建和互联网科技
互联网科技公司电话
互联网科技作文
九亚互联网科技
小马过河互联网科技
壹账通互联网科技
互联网科技上市公司
科技大学互联网专业好不好
互联网科技实习生岗位职责
中国互联网公司排名锤子科技
长沙互联网科技
互联网科技平台产品运营
现代互联网科技公司
科技互联网专业务虚会材料
重庆科技产业互联网有哪些
恒生互联网科技趋势
互联网科技与金融科技
中国互联网科技发展
互联网金融科技平台
菲比寻常互联网科技
顺网科技2021年互联网排名
西藏七维空间互联网科技有限公司
新华互联网科技2019
注册互联网科技公司经营范围大全
国大互联网教育科技有限公司薪资
恒生互联网科技趋势