2024跨年烟花代码,用Python送自己一场浪漫烟花秀

含源码,用Python实现浪漫烟花 Python实现浪漫烟花特效现在很多地方都不能放烟花了,既然看不到,那作为程序猿的我们还不能自己用代码做一个吗?今天就带大家用代码做一个烟花特效吧。 阅读详情

前言

2023 已经接近尾声了,2024 即将到来,本文我们用 Python 送你一场跨年烟花秀。
img

我们用到的 Python 模块包括:tkinter、PIL、time、random、math,如果第三方模块没有装的话,pip install 一下即可,下面看一下代码实现。

导库

import tkinter as tk
from PIL import Image, ImageTk
from time import time, sleep
from random import choice, uniform, randint
from math import sin, cos, radians

烟花颜色

colors = ['red', 'blue', 'yellow', 'white', 'green', 'orange', 'purple', 'seagreen', 'indigo', 'cornflowerblue']
定义烟花类
class fireworks:
    def __init__(self, cv, idx, total, explosion_speed, x=0., y=0., vx=0., vy=0., size=2., color='red', lifespan=2, **kwargs):
        self.id = idx
        # 烟花绽放 x 轴
        self.x = x
        # 烟花绽放 x 轴
        self.y = y
        self.initial_speed = explosion_speed
        # 外放 x 轴速度
        self.vx = vx
        # 外放 y 轴速度
        self.vy = vy
        # 绽放的粒子数
        self.total = total
        # 已停留时间
        self.age = 0
        # 颜色
        self.color = color
        # 画布
        self.cv = cv
        self.cid = self.cv.create_oval(x - size, y - size, x + size, y + size,
        fill=self.color)
        self.lifespan = lifespan
# 更新数据
def update(self, dt):
    self.age += dt
    # 粒子膨胀
    if self.alive() and self.expand():
        move_x = cos(radians(self.id * 360 / self.total)) * self.initial_speed
        move_y = sin(radians(self.id * 360 / self.total)) * self.initial_speed
        self.cv.move(self.cid, move_x, move_y)
        self.vx = move_x / (float(dt) * 1000)
    # 膨胀到最大下落
    elif self.alive():
        move_x = cos(radians(self.id * 360 / self.total))
        self.cv.move(self.cid, self.vx + move_x, self.vy + 0.5 * dt)
        self.vy += 0.5 * dt
    # 过期移除
    elif self.cid is not None:
        cv.delete(self.cid)
        self.cid = None

# 定义膨胀效果的时间帧
def expand(self):
    return self.age <= 1.5

# 检查粒子是否仍在生命周期内
def alive(self):
    return self.age <= self.lifespan
燃放烟花
def ignite(cv):
    t = time()
    # 烟花列表
    explode_points = []
    wait_time = randint(10, 100)
    # 爆炸的个数
    numb_explode = randint(6, 10)
    for point in range(numb_explode):
        # 爆炸粒子列表
        objects = []
        # 爆炸 x 轴
        x_cordi = randint(50, 550)
        # 爆炸 y 轴
        y_cordi = randint(50, 150)
        speed = uniform(0.5, 1.5)
        size = uniform(0.5, 3)
        color = choice(colors)
        # 爆炸的绽放速度
        explosion_speed = uniform(0.2, 1)
        # 爆炸的粒子数半径
        total_particles = randint(10, 50)
        for i in range(1, total_particles):
            r = fireworks(cv, idx=i, total=total_particles, explosion_speed=explosion_speed, x=x_cordi, y=y_cordi,
                     vx=speed, vy=speed, color=color, size=size,
                     lifespan=uniform(0.6, 1.75))
            # 添加进粒子列表里
            objects.append(r)
        # 把粒子列表添加到烟花列表
        explode_points.append(objects)
    total_time = .0
    # 在 1.8 秒时间帧内保持更新
    while total_time < 1.8:
        # 让画面暂停 0.01s
        sleep(0.01)
        # 刷新时间
        tnew = time()
        t, dt = tnew, tnew - t
        # 遍历烟花列表
        for point in explode_points:
            # 遍历烟花里的粒子列表
            for item in point:
                # 更新时间
                item.update(dt)
        # 刷新页面
        cv.update()
        total_time += dt
    root.after(wait_time, ignite, cv)

启动

if __name__ == "__main__":
    root = tk.Tk()
    # 绘制一个画布
    cv = tk.Canvas(root, height=400, width=600)
    # 背景图
    image = Image.open("bg.jpg")
    photo = ImageTk.PhotoImage(image)
    # 在画板上绘制一张图片
    cv.create_image(0, 0, image=photo, anchor='nw')
    cv.pack()
    root.protocol(close)
    root.after(100, ignite, cv)
    # 生成窗口
    root.mainloop()

看一下效果:
请添加图片描述
以上就是今天的全部内容分享,觉得有用的话欢迎点赞收藏哦!

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入门到进阶资料 & 实战源码 &安装工具】(安全链接,放心点击)

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

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

2024倒数第三天!用Python自己一场浪漫烟花 2023 已经接近尾声了,2024 即将到来,本文我们用 Python 一场烟花。我们用到的 Python 模块包括:tkinter、PIL、time、random、math,如果第三方模块没有装的话,pip install 一下即可,下面看一下代码实现。导库烟花颜色定义烟花类# 烟花绽放 x 轴self.x = x# 烟花绽放 x 轴self.y = y# 外放 x 轴速度# 外放 y 轴速度# 绽放的粒子数# 已停留时间# 颜色# 画布# 更新数据# 粒子膨胀。 阅读详情

相关推荐

Phidata+Qdrant构建旅行AI智能体:语义检索与地理感知实战

AI智能体是让大模型具备记忆、工具调用与自主决策能力的工程范式,其核心在于状态管理、知识检索与领域适配的协同。向量数据库作为智能体的‘长期记忆中枢’,需支持语义匹配、结构化过滤与地理空间索引等复合能力。Qdrant凭借原生geo_radius查询、payload高效过滤及分层混合检索(Hybrid Search),显著优于传统向量库在旅行等时空敏感场景的表现;Phidata则以轻量级Agent生命周期管理、内置Memory模块和动态Tool抽象,填补了LangChain在状态持久化与多源API适配上的工程断

djfiew7234的博客 422

Python烟花(完整代码

Python语言实现烟花动画的完整代码

AIGC 3万+

生产级机器学习系统:从模型部署到韧性运维的实战指南

机器学习模型上线不是终点,而是系统性工程挑战的起点。当模型脱离Jupyter Notebook进入真实业务流,其稳定性不再取决于准确率,而依赖于特征管道健壮性、服务协议一致性、资源调度合理性与优雅降级能力。本文聚焦ML系统在金融等高敏场景下的生产化落地,深入解析特征漂移检测、熔断fallback机制、契约先行部署、多维可观测性埋点等核心技术实践。结合27次线上事故复盘与156起故障根因统计,揭示‘集成失败远多于建模失败’的本质规律,并提供可直接复用的OpenAPI规范、Envoy路由配置、JSD漂移计算代码

weixin_34082789的博客 403

2024新春快乐烟花代码(小白操作)

全屏烟花动画特效,新春烟花漫天效果。无加密,完整可用哦。

i_Awesome的博客 1万+

2024最新Python烟花代码,可自选背景音乐,快收藏起来吧 附完整源码】

第一个给大家带来的是3D旋转烟花,这是一个html的代码,大家直接使用浏览器打开即可观看烟花,非常方便,并且效果也非常炫酷。第三个代码也是使用python代码进行绘制的,该代码可以选择喜欢的音乐作为背景音乐去进行播放。第二个烟花使用的是python代码,使用的是tk库进行烟花的绘制和动态绽放。还有两天就到元旦了!

cason的博客 1万+

程序员的浪漫2024烟花代码Python

程序员的浪漫2024烟花代码Python

Java癫疯的博客 7821

2024最新版】我用python代码带你看最绚烂的烟花浪漫永不过时!

我用python代码带你看最绚烂的烟花浪漫永不过时!

2301_78217634的博客 1万+

python代码画动态烟花复制,2024烟花代码免费复制

Python中,如果要定义一个可以接收可变数量参数的函数,可以使用特殊符号 *(单个星号)作为函数定义时参数列表的前缀,例如:```python# 函数体部分```这个 *args 代表参数列表里可以接收 0 个或多。参数个在函数体内,可以像操作一个普通的元组岁并茄(tuple)那样访问这个参数列表里的每一个参数,例如 args[0] 表示访问乎察第一个参数。

npy199331的博客 2850

Python代码绽放2025烟花

来到,特此制作一款烟花特效

2301_78095812的博客 4895

2024最全旖旎风景——浪漫烟花Python实现),2024哔哩哔哩Python高级面试题及答案

不知道你们用的什么环境,我一般都是用的Python3.6环境和pycharm解释器,没有软件,或者没有资料,没人解答问题,都可以免费领取(包括今天的代码),过几天我还会做个视频教程出来,有需要也可以领取~给大家准备的学习资料包括但不限于:Python 环境、pycharm编辑器/永久激活/翻译插件python 零基础视频教程Python 界面开发实战教程Python 爬虫实战教程Python 数据分析实战教程python 游戏开发实战教程Python 电子书100本。

2401_84140347的博客 1051

Python圣诞树_圣诞树代码python2024最新手撕面试官

一度的圣诞节又要来喽。

2401_84184638的博客 721

旖旎风景——浪漫烟花Python实现)(1),2024最新含答案解析

🍅 硬核资料:关注即可领取PPT模板、简历模板、行业经典书籍PDF。🍅 技术互助:技术群大佬指点迷津,你的问题可能不是问题,求资源在群里喊一声。🍅 面试题库:由技术群里的小伙伴们共同投稿,热乎的大厂面试真题,持续更新中。🍅 知识体系:含编程语言、算法、大数据生态圈组件(Mysql、Hive、Spark、Flink)、数据仓库、Python、前端等等。网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

m0_54816834的博客 346

旖旎风景——浪漫烟花Python实现),Python程序员秋招三面蚂蚁金服

def。

m0_54816834的博客 328

面试看看,浪漫邂逅心,20道高频面试题(含答案)

Python崛起并且风靡,因为优点多、应用领域广、被大牛们认可。学习 Python 门槛很低,但它的晋级路线很多,通过它你能进入机器学习、数据挖掘、大数据,CS等更加高级的领域。Python可以做网络应用,可以做科学计算,数据分析,可以做网络爬虫,可以做机器学习、自然语言处理、可以写游戏、可以做桌面应用…Python可以做的很多,你需要学好基础,再选择明确的方向。这里给大家分享一份全套的 Python 学习资料,给那些想学习 Python 的小伙伴们一点帮助!

2401_83621136的博客 669

一个下午搭建两个聊天机器人:本地化RAG与规则引擎实战

聊天机器人已从算法研发降维为工程配置任务,其核心是结合规则引擎处理确定性问题、RAG技术应对语义模糊查询。随着Ollama支持本地量化大模型、LlamaIndex简化PDF向量化流程、FastAPI提供轻量Web服务,构建可落地的对话系统不再依赖云API或GPU资源。这种本地化、低代码、高可控的技术路径,显著降低AI应用门槛,适用于IT支持自动化、销售知识问答、内部流程提效等高频场景。本文聚焦‘规则Bot+RAG Bot’双引擎协同架构,详解如何在无训练、无密钥、单机环境下完成端到端交付。

baichuan9723的博客 460

AI赚钱实操路线图:效率杠杆、体验溢价、数据套利、认知外包

AI商业化不是模型参数竞赛,而是将大语言模型能力转化为可交付价值的过程。其核心原理在于识别真实业务中的信息差、时间税、体验断层与专家经验瓶颈,并通过模型选型、提示词工程、数据治理与人机协同等技术手段构建闭环服务。技术价值体现在降本增效的确定性、用户体验的差异化以及决策过程的可复现性。典型应用场景包括智能客服话术优化、外贸合规文档校验、本地商家内容运营、境电商选品辅助等。本文聚焦AI落地中的四类高价值路径——效率杠杆、体验溢价、数据套利与认知外包,结合UPDF AI文档处理与多模型混搭实践,提供从需求验证到

weixin_30698527的博客 426

手把手教你用python多线程绘制烟花

在本项目中,我们使用了 `threading` 库创建了一个新线程,在该线程中绘制烟花。我们使用 `matplotlib` 库的 `scatter` 函数绘制烟花,并使用 `plt.pause` 函数暂停一段时间,再使用 `clear` 函数清除图像。在上述代码中,我们在每次循环中绘制了 5 个烟花。您可以根据自己的需要调整这个数字,使烟花的数量更多。如果希望让烟花放的更多,可以在绘制烟花的函数。python多线程绘制烟花。效果发现不理想,烟花太稀疏。

babyai996的博客 4782

程序员的浪漫,用Python制作一个烟花代码

距离还有一个半月啦!今天分享用python实现一场烟花!话不多说。

Everly_的博客 1万+
上一篇: 简单几步,教你用几行Python代码批处理excel
下一篇: 想要高薪但是怕技术要求太高?想转行做Python自动化测试,我该怎么做?
码农必胜客
博客等级 码龄3年 4838粉丝 362原创
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值