文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

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

2023-06-22 05:37

关注

这篇文章将为大家详细讲解有关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()

效果如下:

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

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()

效果如下:

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

还可以更改背景,加上下雪特效!如下所示:

# 画雪花关键代码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()  # 调用画雪花的方法

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

3. 圣诞树3号

画一颗漂亮的圣诞树!!代码过长,限于篇幅不贴在文中,效果如下所示:

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

三、Python制作圣诞树词云

做词云得有关键词素材,这就去百度文库高校版下载一些圣诞祝福文章~~

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

12篇差不多够了吧

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

接下来上 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',     # 选取配色方案)

效果如下所示:

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

四、彩蛋

在逛 Gitee 上还发现有人上传了 exe 可以直接生成圣诞树(貌似是C#做的?),效果如下所示:

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

关于“Python如何制作圣诞树和圣诞树词云”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯