Python制作圣诞树和圣诞树词云

目录
  • 一、前言
  • 二、Python画圣诞树
    • 1. 圣诞树1号
    • 2. 圣诞树2号
    • 3. 圣诞树3号
  • 三、Python制作圣诞树词云
  • 四、彩蛋

一、前言

圣诞节庆祝和送礼物貌似现在已经成为全球流行的习惯~

本文利用 Python 制作圣诞树和词云,教会你多种方法,代码直接运行即可,学会拿去送给你想要祝福的人吧~~

二、Python画圣诞树

1. 圣诞树1号

# -*- coding: UTF-8 -*-
"""
@Author  :叶庭云
@公众号   :AI庭云君
@CSDN    :https://yetingyun.blog.csdn.net/
"""
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, j = 0, 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.mainloop()

效果如下:

2. 圣诞树2号

# -*- coding: UTF-8 -*-
"""
@Author  :叶庭云
@公众号  :AI庭云君
@CSDN    :https://yetingyun.blog.csdn.net/
"""
from turtle import *
import turtle
import random

n = 100.0

speed(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 jieba
import re
from stylecloud import gen_stylecloud
from PIL import Image
import numpy as np

with 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_8
gen_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#做的?),效果如下所示:

地址:https://gitee.com/lengfengya/christmas-tree?_from=gitee_search 

以上就是Python制作圣诞树和圣诞树词云的详细内容,更多关于Python圣诞树词云的资料请关注我们其它相关文章!

(0)

相关推荐

  • Python实现爬取某站视频弹幕并绘制词云图

    目录 前言 爬取弹幕 爬虫基本思路流程 导入模块 代码 制作词云图 导入模块 读取弹幕数据 前言 [课 题]: Python爬取某站视频弹幕或者腾讯视频弹幕,绘制词云图 [知识点]: 1. 爬虫基本流程 2. 正则 3. requests >>> pip install requests 4. jieba >>> pip install jieba 5. imageio >>> pip install imageio 6. wordcloud  >

  • 用python画了个圣诞树给女朋友

    目录 前言 开始教学 创建 设置画笔 绘制图像 正片开始 最后 前言 嗨,彦祖们,不会过圣诞了还是一个人吧?今天我们来讲一下如何用python来画一个圣诞树,学会就快给那个她发过去吧,我的朋友圈已经让圣诞树刷屏了!这不就来给各位彦祖们教了 当然都是好看的,但是码神莫,就是要搞点不一样的用,python来画一个!或者搞个前端来画! 开始教学 这次我们用的是python中的turtle(海龟)库,是python中的一个内置库不需要额外安装 创建窗口设置画笔绘制图形 创建 setup()函数,其中的参

  • 利用python/R语言绘制圣诞树实例代码

    目录 Python R语言 总结 圣诞节快到了,想着用python.r来画画圣诞树玩,就在网络上各种找方法,不喜勿喷哈~~ Python 1. import turtle screen = turtle.Screen() screen.setup(800,600) circle = turtle.Turtle() circle.shape('circle') circle.color('red') circle.speed('fastest') circle.up() square = turt

  • 只用Python就可以制作的简单词云

    一.准备 词云制作所必需的三个包: 安装:pip install matplotlib 安装:pip install jieba 安装:pip install wordcloud (可能还需要其他包:pip install numpy等等,可以自行添加) 二.英文词云 test.txt文本内容: python python3 is good well bestbast shell cool Age has reached the end of the beginning of a word. M

  • 使用python生成云词图实现画红楼梦词云图

    目录 在用Python绘制红楼梦词云图 文章中讲到我们使用Python把红楼梦中的核心词汇给绘画出来了,但是,红楼梦这么唯美的书,给我们乌漆麻黑的搞了一张词云,宝宝们肯定接受不了 那怎么办呢?能否用贾宝玉的图像来画词云图呢?答案是肯定的. 我们先来找一张贾宝玉的照片,这张照片不错,不过还是要处理一下,把背景处理称为白色,这个时候,PS工具可以简单地达到这个效果. 接着,我们就要来写程序了,老规矩,我们先来导入包: from scipy.misc import imread import matp

  • Python实现圣诞树的多种方法

    目录 1.极简版 2.彩色版 3.海龟版 4.海龟分形版 5.炫彩版 总结   马上就是圣诞节了,先提前祝大家圣诞快乐!:christmas_tree::christmas_tree::christmas_tree: 有人要说了,圣诞节是耶稣诞生的日子,我又不信基督教,有啥好庆祝的.这你就有所不知了,Python 的诞生也跟圣诞节有关:1989 年,那是一个冬天,那年的第一场雪来得比以往时候来得更早一些,有一位程序员,在圣诞期间的阿姆斯特丹感觉特别闲,就决定开发一个新的脚本语言.他一边开发一边刷

  • python turtle库画圣诞树详细代码教程

    目录 1. 圣诞树的本体 2. 蝴蝶结 3. 星星 4. 圣诞帽 5. 圣诞袜 6. 最后奉上完整代码 首先我们的目标是这样子的: 那么他有什么成分呢?有圣诞树的本体.大小蝴蝶结.星星.圣诞帽和袜子. 首先我们来画圣诞树的本体. 1. 圣诞树的本体 圣诞树本体是这样子的: 代码: class TreeBackBone(): def __init__(self): pencolor("pink") pensize(10) self.layer1() self.layer2() self.

  • 教你使用Python画棵圣诞树完整代码

    最近圣诞节快到啦,CSDN的热搜也变成了"代码画颗圣诞树",看了几篇博客,发现原博主把一些圣诞树给融合在了一起. 我更喜欢树叶更茂盛的感觉,所以就加了一句代码. t.pensize(10) # 修改画笔大小 效果图: ①这是t.pensize(10)的效果 ②这是t.pensize(5)的效果 完整版代码: import turtle as t # as就是取个别名,后续调用的t都是turtle from turtle import * import random as r impor

  • Python将QQ聊天记录生成词云的示例代码

    在这个情人节前夕,我把现任对象回收掉了,这段感情积攒了太多的失望,也给了我太多的伤害,所以我看到这个活动的第一反应是拒绝的.然而人生嘛,最重要的就是体验,沉浸在过去的回忆里没有意义,积极面对才能让自己更好地重振旗鼓. 所以,当大家都一致地在这个活动里各种秀恩爱时,我决定走一条不一样的路来为单身狗和刚分手的小伙伴们打打气:时间能改变的,是那些原本就不坚定的东西,未来的路还很长,笑一笑,一切都会过去的! 言归正传,我们要做的任务是,把 QQ 分手聊天记录导出,使用 Python 分词后做成分开的桃心

  • Python制作圣诞树和圣诞树词云

    目录 一.前言 二.Python画圣诞树 1. 圣诞树1号 2. 圣诞树2号 3. 圣诞树3号 三.Python制作圣诞树词云 四.彩蛋 一.前言 圣诞节庆祝和送礼物貌似现在已经成为全球流行的习惯~ 本文利用 Python 制作圣诞树和词云,教会你多种方法,代码直接运行即可,学会拿去送给你想要祝福的人吧~~ 二.Python画圣诞树 1. 圣诞树1号 # -*- coding: UTF-8 -*- """ @Author :叶庭云 @公众号 :AI庭云君 @CSDN :htt

  • 使用Python制作缩放自如的圣诞老人(圣诞树)

    圣诞节又要到了,虽说我们中国人不提倡过西方的节日,但是商家们还是很喜欢的,估计有对象的男孩纸女孩纸们也很喜欢吧. 今天的主题是为大家展示如何用python做一个不断变大的圣诞老人,就像西游记中能够随意变幻大小的神仙妖怪那样,算是送给大家的小礼物,先上个图吧! 不要心急,盯着图片看5秒 思路要点: 通过缩放获取等比大小的一组图片 将上述图片叠加到固定大小的底图中 按顺序组合图片生成动图 1.图片缩放 本篇文章的大部分工作都是基于opencv实现,而opencv进行图片缩放是极其容易的,不过这次我们

  • Python超简单分析评论提取关键词制作精美词云流程

    目录  一.抓取全部评论 1.找到评论接口 2.Python 获取评论 二.文本分词.词云制作 1.文本分析 2.生成词云 3.初步效果-模糊不清 4.最终效果-高清无马  一.抓取全部评论 吾的这篇文章,有 1022 次评论,一条条看,吾看不过来,于是想到 Python 词云,提取关键词,倒也是一桩趣事. 评论情况: {'android': 545 次, 'ios': 110 次, 'pc': 44 次, 'uniapp': 1 次} 一个小细节:给我评论的设备中,安卓苹果比是 5:1. Bu

  • python词云库wordcloud自定义词云制作步骤分享

    目录 wordcloud库常规方法 第三方库 读取文件 自定义绘制指定形状的词云 wordcloud库常规方法 import wordcloud c=wordcloud.WordCloud() #构建词云对象,配置对象参数 c.generate("wordcloud by python ") #加载词云文本 c.to_file("pywordcloud.png") #输出词云文件 词云生成步骤: 分隔:以空格分隔单词 统计:单词出现次数并过滤(1-2个字母会被滤掉)

  • 详解Python数据可视化编程 - 词云生成并保存(jieba+WordCloud)

    思维导图: 效果(语句版): 源码: # -*- coding: utf-8 -*- """ Created on Tue Mar 5 17:59:29 2019 @author: dell """ # ============================================================================= # 步骤: # 分割aaa = jieba.cut(str,cut_all=True/Fa

  • Python基于jieba库进行简单分词及词云功能实现方法

    本文实例讲述了Python基于jieba库进行简单分词及词云功能实现方法.分享给大家供大家参考,具体如下: 目标: 1.导入一个文本文件 2.使用jieba对文本进行分词 3.使用wordcloud包绘制词云 环境: Python 3.6.0 |Anaconda 4.3.1 (64-bit) 工具: jupyter notebook 从网上下载了一篇小说<老九门>,以下对这篇小说进行分词,并绘制词云图. 分词使用最流行的分词包jieba,参考:https://github.com/fxsjy/

  • 基于Python词云分析政府工作报告关键词

    前言 十三届全国人大三次会议作了政府工作报告.这份政府工作报告仅有10500字左右,据悉是改革开放40年以来最短的一次.受到疫情影响,今年的两会会议适当缩短,政府工作报告也大幅压缩,体现了"实干为要"的理念.那么,这份政府工作报告突出强调了哪些关键词呢?我们其实可以基于Python技术进行词频分析和词云制作! import matplotlib.pyplot as plt#绘图库 import jieba from wordcloud import WordCloud # 读入文本数据

  • 用Python做一个哔站小姐姐词云跳舞视频

    目录 一.前言 二.实现思路 1. 下载视频 2. 获取弹幕内容 3. 从视频中提取图片 4. 利用百度AI进行人像分割 5. 小姐姐跳舞词云生成 6. 合成跳舞视频 7. 视频插入音频 一.前言 B站上的漂亮的小姐姐真的好多好多,利用 you-get 大法下载了一个 B 站上跳舞的小姐姐视频,利用视频中的弹幕来制作一个漂亮小姐姐词云跳舞视频,一起来看看吧. 二.实现思路 1. 下载视频 安装 you-get 库 pip install you-get -i http://pypi.douban

  • Python编程实现小姐姐跳舞并生成词云视频示例

    目录 制作过程分为以下几个部分 1.视频下载 2.B 站弹幕下载 3.视频切帧,人像分割 4.对分割后的图像制作词云图 5.图片拼接,合成视频 最后 Python做了一个词云视频,以另一种角度来看小姐姐跳舞 制作过程分为以下几个部分 1.视频下载 首先需要下载一个小姐姐跳舞的视频,这里我用的是 you-get 工具,可借助 Python 的 pip 命令进行安装 pip install you-get you-get 支持下载平台包括:Youtube.Blili.TED.腾讯.优酷.爱奇艺(涵盖

随机推荐