Python实战:史上最全| 圣诞树画法

北大教授上课讲解,Python零基础入门总结 一、输入输出 print('100 + 200 =',100 + 200) print('The quick brown fox', jumps over', 'the lazy dog') The quick brown fox jumps over the lazy dog print( )会依次打印每个字符串,遇到逗号"," 会输出一个空格 print( )在括号中加上字符串,就可以向屏幕上输出指定的文字 print( )函数也可以接受多个字符串,用逗号"," 隔 阅读详情
AI摘要

文章介绍了如何使用Python通过turtle库绘制三种不同风格的圣诞树,并展示了制作词云的步骤,提供了从基础装饰到机器学习相关应用的Python学习资源。,

一、前言

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

img

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

二、Python画圣诞树

1. 圣诞树1号

# -*- coding: UTF-8 -*-
"""
@Author  :叶庭云
@公众号   :AI庭云君
@优快云    :https://yetingyun.blog.youkuaiyun.com/
"""
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全套从入门到精通学习资源,文末免费领取!】
效果如下:

img

2. 圣诞树2号

# -*- coding: UTF-8 -*-
"""
@Author  :叶庭云
@公众号  :AI庭云君
@优快云    :https://yetingyun.blog.youkuaiyun.com/
"""
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()

效果如下:

img

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

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

img

3. 圣诞树3号

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

img

三、Python制作圣诞树词云

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

img

12篇差不多够了吧

img

接下来上 Python 代码!!!!!!

# -*- coding: UTF-8 -*-
"""
@Author   : 叶庭云
@公众号    : AI庭云君
@优快云     : https://yetingyun.blog.youkuaiyun.com/
"""

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

效果如下所示:

img

四、彩蛋

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

img

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

以上就是今天的全部内容分享,觉得有用的话欢迎点赞收藏哦!

Python经验分享

学好 Python 不论是用于就业还是做副业赚钱都不错,而且学好Python还能契合未来发展趋势——人工智能、机器学习、深度学习等。
小编是一名Python开发工程师,自己整理了一套最新的Python系统学习教程,包括从基础的python脚本到web开发、爬虫、数据分析、数据可视化、机器学习等。如果你也喜欢编程,想通过学习Python转行、做副业或者提升工作效率,这份【最新全套Python学习资料】 一定对你有用!

小编为对Python感兴趣的小伙伴准备了以下籽料 !

对于0基础小白入门:

如果你是零基础小白,想快速入门Python是可以考虑培训的!

  • 学习时间相对较短,学习内容更全面更集中
  • 可以找到适合自己的学习方案

包括:Python激活码+安装包、Python web开发,Python爬虫,Python数据分析,人工智能、机器学习、Python量化交易等学习教程。带你从零基础系统性的学好Python!

一、Python所有方向的学习路线

Python所有方向路线就是把Python常用的技术点做整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。
在这里插入图片描述

二、学习软件

工欲善其事必先利其器。学习Python常用的开发软件都在这里了,给大家节省了很多时间。

三、入门学习视频

我们在看视频学习的时候,不能光动眼动脑不动手,比较科学的学习方法是在理解之后运用它们,这时候练手项目就很适合了。

四、实战案例

光学理论是没用的,要学会跟着一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。

五、面试资料

我们学习Python必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有阿里大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。


最新全套【Python入门到进阶资料 & 实战源码 &安装工具】(安全链接,放心点击)

我已经上传至优快云官方,如果需要可以扫描下方官方二维码免费获取【保证100%免费】

*今天的分享就到这里,喜欢且对你有所帮助的话,记得点赞关注哦~下回见 !

Python——画一棵漂亮的樱花树(不同种樱花+玫瑰+圣诞树喔) 最近翻到一篇知乎,上面有不少用Python(大多是turtle库)绘制的树图,感觉很漂亮,我整理了一下,挑了一些我觉得不错的代码分享给大家(这些我都测试过,确实可以生成) one 樱花树 动态生成樱花 效果图(这个是动态的): 实现代码 import turtle as T import random import time # 画樱花的躯干(60,t) def Tree(branch, ... 阅读详情

相关推荐

python代码圣诞树你还没有嘛?所有画法都在这篇文章里拉~

嗨喽~大家好呀,这里是魔王呐 ❤ ~今天,我就来给大家分享一下python制作的几种圣诞树吧~

python56123的博客 1万+

用Python画圣诞树

1 问题如何用python画出圣诞树?2 方法代码清单 1import turtlescreen = turtle.Screen()screen.setup(375, 700)circle = turtle.Turtle()circle.shape('circle')circle.color('red')circle.speed('fastest')circle.up()square = turt...

算法与编程之美 6830

Python绘制圣诞树

python绘制圣诞树终章 一位朋友送给相爱18年的闺蜜的圣诞树,是定制款呐 # 袜子 seth(-20) pensize(2) penup() goto(-30, 130) pencolor("black") pendown() begin_fill() fillcolor('white') fd(32) circle(4, 180) fd(32) circle(4, 180) end_fill() penup() goto(-25, 130) pendown() begin_fill() fillco

weixin_44511899的博客 5409

Python编程 圣诞树教程 (附代码)程序员的浪漫

快圣诞节了,本章将会讲解Python编程 实现圣诞树效果!有源代码哦~

yj11290301的博客 25万+

Python画圣诞树,这波操作让我女友非常开心

文章目录 1.方块圣诞树 2.线条圣诞树 3.豪华圣诞树 这篇文章主要介绍了使用Python画了一棵圣诞树的实例代码,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下 如何用python画一个圣诞树呢? Turtle库来画圣诞树。 1.方块圣诞树 import turtle screen = turtle.Screen() screen.setup(375, 700) circle = turtle.Turtle() circle.shape('ci

JAVAmonster12的博客 2616

最美圣诞树,用Python画棵雪夜圣诞树送给你

今天是平安夜,明天就是圣诞节,这两天应该是苹果最畅销的日子 ... 之前发了一篇圣诞树的文章,看小伙伴都挺感兴趣的,本文再用 Python 来画一棵高级一点的圣诞树,先睹为快。 下面展开来看一下主要代码实现。 圣诞树主要代码实现如下: # 画第一层 seth(-120) for i in range(10): fd(12) right(2) penup() goto(0, 150) seth(-60) pendown() for i in range(1...

Python_xiaowu的博客 3204

Python圣诞树

Python圣诞树源码。

AIGC 5万+

STM32F405实战:手把手教你实现永磁同步电机无感FOC控制(附完整工程文件)

本文详细介绍了基于STM32F405微控制器实现永磁同步电机无感FOC控制的完整实战方案。文章从硬件搭建、CubeMX配置入手,逐步讲解了FOC核心算法、SVPWM调制,并重点阐述了如何结合HFI高频方波注入与滑模观测器(SMO)实现全速域无感控制。内容涵盖算法原理、代码实现、参数整定及调试技巧,并附有完整工程文件,为开发者提供从理论到实践的全面指导。

sun99的博客 265

Python圣诞树的最全画法!给你一个专属程序员的浪漫 !!

11月末了,快到12月了,圣诞节不远了!今天教大家利用 Python 制作圣诞树和词云,教会你多种方法,代码直接运行即可,学会拿去送给你想要祝福的人吧~

xiaolinyui的博客 9225

Spring AI 实战:5 分钟搭建你的第一个 AI 应用(含完整代码)

能力关键 API适用场景基础对话简单问答、文本生成流式输出实时打字机效果@Bean模型需要调用外部工具结构化输出需要返回 Java 对象多轮对话聊天机器人场景Spring AI 让 Java 开发者可以用最熟悉的方式(Spring Boot + Maven)进入 AI 应用开发领域,不用学新语言,不用换框架,这是它最大的优势。但目前为止,我们的 AI 应用只能回答"它脑子里已有的知识"。如果让它读懂你自己的技术文档、公司内部知识库呢?这就是下一篇文章的主题——RAG(检索增强生成)实战。

qq_17204557的博客 642

科研党福音:如何用Zotero+Paper Agent打造你的AI论文速递系统(附详细配置教程)

本文为科研工作者提供了一套利用Zotero和开源工具Paper Agent构建自动化AI论文速递系统的详细教程。该系统能基于用户在Zotero中的文献库智能学习研究兴趣,每日自动从arXiv等平台筛选、下载并深度解读最相关的前沿论文,生成个性化日报,实现从被动接收到主动精准获取的知识工作流重塑。

kite3的博客 512

python画圣诞树代码-python圣诞树代码

python圣诞树代码1、简单的绘制圣诞树新建tree1.py或者直接输入下面代码运行#声明树的高度height = 5#树的雪花数,初始为1stars = 1#以数的高度作为循环次数for i in range(height):print((' ' * (height - i)) + ('*' * stars))stars += 2#输出树干print((' ' * height) + '|')...

weixin_37988176的博客 11万+

11、硬件工程师笔试面试——IGBT(2025版本)

IGBT的应用展望与创新趋势表明,随着电子技术的不断发展,IGBT在各个领域都有广泛的应用,如高压电力系统、交通工具、电锅炉、太阳能和风能发电系统等。FS型IGBT(场终止型绝缘栅双极晶体管)在电力传输领域的应用中,通过其独特的设计和特性,有助于确保系统的稳定性和安全性。每种器件都有其独特的优势,能够满足电力传输系统中不同的技术要求。FS型IGBT通常具有正温度系数,这意味着随着温度的升高,导通压降的主要影响因素是载流子迁移率的降低以及集电极和发射极的接触电阻的增加,有助于在高温下维持稳定的性能。

XU157303764的博客 2671

教你用Python画一棵圣诞树

如何用Python画一个圣诞树呢?最简单的方法:height = 5 stars = 1 for i in range(height): print((' '...

MineData 3万+

CloudCompare 和 PCL:点云网格化分析与处理

点云网格化是将点云数据转化为规则网格的过程,其主要思想是将离散的点云投影到一个平面上,然后对该平面进行划分,形成一系列小区域。在点云网格化方面,PCL 提供了各种算法和工具,可以实现高效的点云网格化操作。以上示例代码中,首先加载了输入的点云数据,然后通过设置合适的网格化算法参数,如搜索半径和最大三角形边长等,执行了网格化操作,最后将网格化结果保存到输出文件中。以上示例代码中,首先加载了输入的点云数据,然后通过设置合适的网格化参数,如分辨率等,执行了网格化操作,最后将网格化结果保存到输出文件中。

TechPulseZ的博客 1289

STM32入门教程:智能马桶盖控制

通过编写相应的代码,您可以根据需要实现其他功能,例如座圈温度调节和液晶显示屏显示等。初始化配置 首先,使用STM32CubeMX创建一个新的工程,并选择您所使用的STM32单片机型号。智能马桶盖是一种集成了多种功能的智能家居设备,通过控制芯片来实现自动冲水、座圈加热、座圈温度调节等功能。在本教程中,我们将使用STM32系列单片机来控制智能马桶盖的各个功能。以上代码演示了如何通过STM32的GPIO控制引脚来控制智能马桶盖的冲水和座圈加热功能。写代码 接下来,我们将通过编写代码来控制智能马桶盖的各个功能。

2401_85258012的博客 657

如何用python画圣诞树(附圣诞树代码)

python圣诞树代码 1、简单的绘制圣诞树 新建tree1.py或者直接输入下面代码运行 #声明树的高度 height = 5 #树的雪花数,初始为1 stars = 1 #以数的高度作为循环次数 for i in range(height): print((' ' * (height - i)) + ('*' * stars)) stars += 2 #输出树干 print((' ' * height) + '|')

xue_ningmeng的博客 5万+

DSP开发环境及工具之CCS

CCS( Code Composer Studio)是美国德州仪器(TI)公司的嵌入式处理器的开发环境,可以用于TI公司的各个系列处理器的软件开发和调试,如DSP,MCU,ARM等。CMD的专业名称叫链接器配置文件,是存放链接器的配置信息的,我们简称为命令文件。从其名称可以看出,该文件的作用是指明如何链接程序的。编辑完C语言设置,添加cmd文件之后,然后检查编译配置选项。主要的操作都是在这个窗口之间做相应的切换。

小柚子的博客 4311

python生成圣诞树的代码合集

愿你的圣诞充满温馨和欢笑,家人团聚,友谊长存。在这个特别的时刻,愿你感受到爱的温暖,希望的明亮。:调用tree函数,开始绘制圣诞树的绿叶,传入递归深度15和分支长度n。:调用tree函数,开始绘制圣诞树的绿叶,传入递归深度15和分支长度n。:向相反的方向移动五分之一的分支长度,为绘制完整树形状。:向相反的方向移动五分之一的分支长度,为绘制完整树形状。:向相反的方向移动4.8倍的分支长度,回到树干的位置。:向相反的方向移动4.8倍的分支长度,回到树干的位置。:向相反的方向移动长度为s的距离,回到起始点。

s44359487yad的博客 7249

RT-DETR的AIF模块+YOLOv8:融合注意力与特征交互,打造实时检测的科研级进阶方案

从理解AIF模块“细粒度注意力+跨尺度交互”的核心设计,到亲手将其嵌入YOLOv8并验证在复杂场景的表现,再到基于此探索属于自己的科研与工程方向——这个过程能让你深刻理解“注意力机制与CNN融合”在实时检测中的核心价值。现在就开始行动,相信你会在实时目标检测的“智能进化”之路上,走出一条属于自己的技术路径。从实验对比图可见,集成AIF模块的YOLOv8,其mAP(平均精度)在多个阈值下均有提升,尤其是mAP50-95(高IoU阈值下的精度)提升更为显著,充分证明了AIF对细粒度特征的捕捉能力。

m0_64661770的博客 187

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

python3D圣诞树

pygame.display.set_caption('3D 圣诞树')# 计算每一层的宽度和高度。# 计算每一层的四个顶点。# 初始化Pygame。# 设置屏幕尺寸和标题。# 退出Pygame。

rhz20131230的博客 9605

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

简单python画圣诞树图片-python圣诞树代码

python圣诞树代码1、简单的绘制圣诞树新建tree1.py或者直接输入下面代码运行#声明树的高度height = 5#树的雪花数,初始为1stars = 1#以数的高度作为循环次数for i in range(height):print((' ' * (height - i)) + ('*' * stars))stars += 2#输出树干print((' ' * height) + '|')...

weixin_37988176的博客 1万+

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

用python画圣诞树-python圣诞树

广告关闭腾讯云双11爆品提前享,精选热门产品助力上云,云服务器首年88元起,买的越多返的越多,最高满返5000元!import termcolorimport randomimport timeimport datetimefrom os import system,namefrom colorama import initfrom termcolor import colored def cle...

weixin_37988176的博客 2438

Python圣诞树_圣诞树代码python

一年一度的圣诞节又要来喽。

qwevjjk的博客 1018
上一篇: 用Python爬虫免费下载1万份精美PPT模板,省钱又省心 !!
下一篇: 装饰器----传说中Python最难的知识器,看完这篇你就懂了
田野猫咪
博客等级 码龄4年 5079粉丝 502原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值