中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Python如何制作圣誕樹和圣誕樹詞云

發布時間:2021-12-24 11:33:25 來源:億速云 閱讀:257 作者:小新 欄目:開發技術

這篇文章將為大家詳細講解有關Python如何制作圣誕樹和圣誕樹詞云,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。

一、前言

圣誕節慶祝和送禮物貌似現在已經成為全球流行的習慣~

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

效果如下:

Python如何制作圣誕樹和圣誕樹詞云

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

效果如下:

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 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',     # 選取配色方案
)

效果如下所示:

Python如何制作圣誕樹和圣誕樹詞云

四、彩蛋

在逛 Gitee 上還發現有人上傳了 exe 可以直接生成圣誕樹(貌似是C#做的?),效果如下所示:

Python如何制作圣誕樹和圣誕樹詞云

關于“Python如何制作圣誕樹和圣誕樹詞云”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,使各位可以學到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

东乌| 张家港市| 海丰县| 西城区| 富民县| 柏乡县| 谢通门县| 开鲁县| 合阳县| 习水县| 遵义县| 吉林市| 永寿县| 大洼县| 横峰县| 寿光市| 泾川县| 永登县| 唐海县| 宁武县| 怀安县| 拉萨市| 铜梁县| 定南县| 河津市| 辛集市| 当雄县| 潢川县| 汽车| 八宿县| 星子县| 土默特左旗| 宽城| 邵阳市| 五峰| 始兴县| 玉屏| 崇仁县| 雷州市| 山丹县| 长子县|