10 个疯狂的 Python 项目创意

分享10个很酷、简单且有趣的 Python 项目及其源代码 在本文中,我们收录了 10 个有趣的 Python 项目,从适合初学者的简单 Python 项目到中级和高级 Python 项目,我们可以利用它们来挑战自己或提高 Python 编程技能。如果您是 GUI 新手,这个示例是一个很好的介绍,我们使用一系列简单的标签、按钮和输入字段来创建窗口,还使用 Python timeit 模块来处理打字测试的计时方面,并使用 random 模块来随机选择测试短语。因此,下次当您想将文章变成可播放的播客时,请考虑尝试一下,它绝对是值得复制的很酷的 Python 代码之一! 阅读详情

这些项目构想很有可能会让你对这门神奇的语言产生兴趣。最棒的是,你可以通过这些有趣但也具有挑战性的项目来增强 Python 编程技能。

作者 | Juan Cruz Martinez

译者 | 刘雅梦  来源 | InfoQ

1c6351dc729b9d52a51406ffd18c9613.png

你知道 Python 是被称为 全能编程语言 的吗?

是的,它确实是,虽然不应该在每个项目中都使用它。

你可以使用它来创建桌面应用程序、游戏、移动应用程序、网站和系统软件。它甚至是最适合用于实现 人工智能 和 机器学习 算法的语言。

因此,在过去的几周里,我为 Python 开发人员收集了一些独特的项目构想。这些项目构想很有可能会让你对这门神奇的语言产生兴趣。最棒的是,你可以通过这些有趣但也具有挑战性的项目来增强你的 Python 编程技能。

让我们来一一看下。

 1. 使用语音命令创建软件 GUI

2a5579edab112de56c79c6681dc6d0e0.png

交互示例——原图来自 Unsplash

如今,桌面应用程序开发领域已经取得了巨大进步。你能看到许多拖拽式 GUI 构建器和语音识别库。那么,为什么不能将它们结合在一起,通过与计算机对话来创建一个用户界面呢?

这是一个全新的概念,经过一番研究,我发现还没有人尝试这样做。因此,它可能比下面提到的那些更具挑战性。

下面是使用 Python 开始这个项目的一些说明。首先,你需要用到如下的包:

  • 语音识别库

  • PAGE ——拖拽式 GUI 构建器

  • PAGE 的文档

  • PAGE 是如何工作的视频

  • 使用 PAGE 创建登录窗口

现在,我们的想法是对一些语音命令进行硬编码,例如:

08af852848b10dce0820f46deb96faf6.png

你明白我的意思了吧?可以非常简单明了地添加更多这样的命令。

因为这将是一个 最小可行性产品 (Minimum Viable Product,MVP)。所以,如果你必须硬编码许多条件语句(例如,if…else),这是完全可以的。

设置完这些基本命令后,就可以测试代码了。现在,你可以尝试在窗口中构建一个非常基本的登录表单。

这一想法的主要灵活性在于它可以用于游戏开发、网站和移动应用程序。即使是使用不同的编程语言也可以。

 2. AI 博彩机器人

c910a4f9bcb3a6e5c75b89eaa074bc16.png

网球比赛——图片来自 Unsplash

博彩是一种人们预测结果的活动,如果他们猜对了,就会得到回报。在过去几年中,人工智能或机器学习领域出现了许多技术进步。

例如,你可能听说过像 AlphaGo Master、AlphaGo Zero 和 AlphaZero 这样的程序,它们可以比任何专业的人类玩家都能更好地玩 Go(游戏)。你甚至可以获得类似 Leela Zero 这样程序的 源码。

我想表达的一点是,人工智能正在变得比我们更聪明。这意味着它可以通过考虑所有的可能性并从过去的经验中学习来更好地预测一些事情。

让我们在 Python 中应用一些有监督学习的概念创建一个 AI 博彩机器人吧。要开始本项目,这里有一些你需要使用到的库。

  • pandas——数据分析

  • NumPy——多维数组、矩阵和数学函数

  • scikit-learn ——机器学习

  • XGBoost —— 梯度提升(Gradient Boosting)

  • Matplotlib ——绘图

  • seaborn ——统计数据可视化

  • pickle ——Python 对象序列化

首先,你需要选择一种比赛(例如网球、足球等)来预测结果。现在搜索可用于训练模型的历史匹配结果数据。

例如,.csv 格式的网球比赛数据可以从 tennis-data.co.uk 网站上下载。

如果你对博彩不了解,下面是它的工作原理。

  • 你可以在 Roger Federer 身上以 1.3 的赔率押 10 美元。

  • 如果他获胜,你将获得 10 美元(实际金额),外加 3 美元(利润)。

  • 如果他输了,你也会输掉你的钱(例如,10 美元)。

训练完模型后,我们必须计算每个预测的置信水平(Confidence Level),通过检查预测正确的次数来了解机器人的表现,最后还要关注投资回报率(ROI)。

可以下载由 Edouard Thomas 开发的一个类似的 开源 AI 博彩机器人项目(https://github.com/edouardthom/ATPBetting)。

 3. 交易机器人

3b5c46acddc128523dd09d9754de5f96.png

交易——图片来自 Unsplash

交易机器人与上一个项目非常相似,因为它也需要 AI 来进行预测。

现在的问题是,AI 是否可以正确地预测股价的波动?

当然,答案是肯定的。

在开始之前,我们需要一些数据来开发一个交易机器人。

  • Yahoo Finance —— 获取股票数据

  • Alpha Vantage —— 用于金融数据的实时 API

这些来自投资百科(Investopedia)的资源可能有助于训练机器人。

  • 初学者的交易策略

  • 只有通过了这五步测试才能进行交易

读完这两篇文章后,你会对什么时候买股票,什么时候卖股票有一个更好的理解。这些知识可以很容易地转换为 Python 程序,从而自动地为我们做出决策。

你也可以参考这个名为 freqtrade (https://github.com/freqtrade/freqtrade)的开源交易机器人。它使用 Python 构建,并实现了多种机器学习算法。

 4. 钢铁侠 Jarvis(基于 AI 的虚拟助手)

1c3be3ea0a180e8fa775f75b02b2f993.png

AI 助手界面——图片来自 Unsplash

这个想法取材于好莱坞电影《钢铁侠》系列。这部电影围绕着科技、机器人和 AI 展开。

在这里,钢铁侠用人工智能为自己打造了一个虚拟助手。该程序被称为 Jarvis,可以帮助钢铁侠完成日常任务。

钢铁侠使用简单的英语向 Jarvis 发出指令,Jarvis 也用英语回应。这意味着我们的程序需要语音识别以及文本转语音的功能。

建议使用这些库:

  • 语音识别

  • 文字转语音 (TTS)

现在,你可以对语音命令进行硬编码,例如:

c6b428006adfb20b7de537b8441e6b02.png

你还可以使用 Jarvis 执行其他很多任务,例如:

  • 设置手机闹钟。

  • 不停地检查家里的监控摄像头,并告知是否有人在外面等着。你可以添加更多的功能,如人脸检测和识别。它可以帮助你了解外面有哪些人或者有多少人。

  • 打开 / 关闭房间的窗户。

  • 打开 / 关闭灯。

  • 自动回复电子邮件。

  • 安排任务。

甚至连 Facebook 的创始人“马克·扎克伯格”(Mark Zuckerberg)都将 Jarvis 作为一个辅助项目。

 5. 监控某个网站以了解即将举行的艺术家演唱会

8b82ac9e202af0b9ace7c86051319f4f.png

门票——图片来自 Unsplash

Songkick 是一项非常受欢迎的服务,它可以提供有关即将举行的音乐会的信息。其 API 可用于通过以下方式搜索即将举行的音乐会:

  • 艺术家

  • 位置

  • 会场

  • 日期和时间

你可以创建一个 Python 脚本,使用 Songkick 的 API 每天检查某个特定的音乐会。最后,只要有音乐会,就给自己发一封电子邮件。

有时 Songkick 甚至会在其网站上显示“购票”链接。但是,这个链接可以针对不同的音乐会转到不同的网站上。这意味着即使我们利用网络抓取,也很难自动购票。

相反,我们可以简单地显示“购票”链接,就像它在我们的应用程序中一样,以便进行手动操作。

6. 自动续订 Let’s Encrypt 的免费 SSL 证书

Let’s Encrypt 是一个提供免费 SSL 证书的证书颁发机构。但是,问题在于该证书的有效期只有 90 天。90 天后,你必须续订。

我认为,这是使用 Python 实现自动化的一个绝佳场景。我们可以编写一些代码,在网站 SSL 证书到期之前自动续订。

可以在 GitHub (https://github.com/jaygreco/PA_SSL_AutoRenew)上查看这段代码 以寻找灵感。

 7. 识别人群中的个人

5bdbcda074c5ded389b78601c34f14be.png

人脸识别——作者的照片

如今,政府已在公共场所安装了监控摄像头,以提高公民的安全性。这些摄像头大多只是用于录制视频,法医专家必须手动识别或跟踪个人。

如果我们创建一个 Python 程序来实时识别摄像头中的每个人会怎么样呢?首先,我们需要访问国家身份证数据库,但我们可能没有权限访问。

所以,一个简单的选择是创建一个包含家庭成员记录的数据库。

然后,可以使用一个 人脸识别库(https://pypi.org/project/face-recognition/),并将其与摄像头的输出连接起来。

 8. 接触者追踪

1f7dc7959b9706a6cba014e451de5ba9.png

接触者追踪应用程序——图片来自 Unsplash

接触者追踪是一种识别所有在特定时间段内相互接触的人的方法。它主要用于像 COVID-19 或 HIV 这样的大流行病。因为没有任何关于谁被感染了的数据,我们无法阻止其传播。

Python 可以与称为 DBSCAN(Density-Based Spatial Clustering of Applications with Noise,基于密度的带噪声的应用程序空间聚类)的机器学习算法一起用于接触者追踪。

由于这只是一个附属项目,因此我们无法获得任何官方数据。目前,最好使用 Mockaroo 生成一些实际的测试数据。

你可以查看 这篇文章(https://towardsdatascience.com/contact-tracing-using-less-than-30-lines-of-python-code-6c5175f5385f) 以了解具体代码实现。

 9. 自动将文件从一个文件夹移动到另一个文件夹

1127589fba842b06d3f57c37363bef8a.png

Ubuntu 的的 Nautilus 文件管理器——图片由作者上传

这是一个非常基本的 Python 程序,始终监视某个文件夹,每当有文件添加到该文件夹中时,它都会检查其类型并相应地将其移动到特定的文件夹中。

例如,我们可以跟踪我们的下载文件夹。现在,当一个新文件被下载时,它会根据其类型自动将其移动到另一个文件夹中。

.exe 文件很可能是软件设置程序,因此将其移至“软件”文件夹中。而将图片(png、jpg、gif) 移动在“ 图像”文件夹中。

通过这种方式,我们可以组织不同类型的文件,以便快速访问。

 10. 从 YouTube 上收集职业道路相关的视频

ed75ac918e385d9e796d6a5174e69488.png

YouTube 主页——图片来自 Unsplash

创建一个应用程序,接受我们需要学习的职业技能名称。

例如,要成为一名 Web 开发人员,我们需要学习:

  • HTML5

  • CSS3

  • JavaScript

  • 后端语言(PHP、Node.js、 Python、ASP.NET、或 Java)

  • Bootstrap 4

  • WordPress

  • 后端框架 (Laravel、Codeigniter、Django、Flask 等)

  • 等等。

输入技能后,会有一个“生成职业道路”按钮。它指导我们的程序搜索 YouTube,并根据每种技能选择相关的视频 / 播放列表。如果有很多类似的技能视频,那么它将选择观看次数、评论次数、喜欢次数最多的视频。

然后,程序会根据技能将这些视频分组,并在 GUI 中显示其缩略图、标题和链接。

它还会分析每个视频的时长,并汇总,然后告知我们学习该职业道路需要多长时间。

现在,作为一个用户,我们可以逐步观看这些视频,并成为这一职业的大师。

结论

通过这些独特的编程项目来挑战自己,可以让自己保持活力,提高技能,并能帮助你探索新的可能性。

我上面提到的一些项目构想也可以用作你的毕业设计。

现在是时候用 Python 编程语言展示你的创造力,并将这些构想转化为你引以为豪的东西了。


 

 

 

推荐阅读:

入门: 最全的零基础学Python的问题  | 零基础学了8个月的Python | 实战项目 |学Python就是这条捷径

量化: 定投基金到底能赚多少钱?  | 我用Python对去年800只基金的数据分析

干货:爬取豆瓣短评,电影《后来的我们》 | 38年NBA最佳球员分析|   从万众期待到口碑扑街!唐探3令人失望  | 笑看新倚天屠龙记灯谜答题王 |用Python做个海量小姐姐素描图碟中谍这么火,我用机器学习做个迷你推荐系统电影

趣味:弹球游戏  | 九宫格  | 漂亮的花 | 两百行Python《天天酷跑》游戏!

AI: 会做诗的机器人给图片上色 | 预测收入 | 碟中谍这么火,我用机器学习做个迷你推荐系统电影

小工具: Pdf转Word,轻松搞定表格和水印! | 一键把html网页保存为pdf!|  再见PDF提取收费! | 用90行代码打造最强PDF转换器,word、PPT、excel、markdown、html一键转换 | 制作一款钉钉低价机票提示器! |60行代码做了一个语音壁纸切换器天天看小姐姐!|

年度爆款文案


 

 

 

 

 

 


 

 

 
点阅读原文,领AI全套资料!
python创意编程作品集,python做出来的作品 大家好,给大家分享一下python创意小作品100行代码左右,很多人还不知道这一点。下面详细解释一下。现在让我们来看看!人生苦短,快学Python!在使用Python的过程中,我最喜欢的就是Python的各种第三方库,能够完成很多操作。下面就给大家介绍5个通过Python构建的项目,以此来学习Python编程。 阅读详情

相关推荐

Python编程快速入门基础作品(集合)

本人一直从事软件设计研发17载,对少儿编程有深刻的研究,并整理和总结一套针对少儿编程非常有效的精品课程,想分阶段分享给小朋友们。精品课程从零到精通,步步为营,系统教学,题材新颖,内容丰富,范围全面。有深度破析100个优先经典实例实操,有8000分钟丰富视频内容。包含基础知识,环境配置,服务组建,运动轨迹,游戏设计,建筑设计,舞蹈音乐,动画动漫,逻辑思维,运算测量,应用工具,航空航海汽车运动等等。含盖Scratch3.0,Python等语言的99%常用积木工具和代码,以及编码设计原理和编程思维,以及工作原理.

xzs51job的专栏 696

精选了20个Python实战项目(附源码),拿走就用!零基础练手不二项目!

Python是目前最好的编程语言之一。由于其可读性和对初学者的友好性,已被广泛使用。

轻松学python的博客 1万+

基于Codex平台与AI Agent技能开发,实现抖音爆款视频分析与脚本自动生成

大家好,我是专注于AI应用开发的技术博主。最近在探索如何利用AI工具自动化内容创作时,我发现了一个非常有趣的组合:通过Codex平台创建自定义的Skill(技能),来批量分析抖音平台的爆款视频,并基于分析结果自动生成新的带货视频脚本。这听起来像是内容团队的“黑科技”,但实现起来其实有清晰的路径可循。本文将为你完整拆解这个实战项目,从环境搭建、Skill编写、数据抓取到视频脚本生成,手把手教你打造自己的“AI内容助理”。无论你是想了解AI Agent的开发,还是对短视频自动化创作感兴趣,都能从本文中获得可直接

weixin_34110749的博客 645

适合Python练手的8个经典项目,有趣又实用,提升Python编程能力必看

今天给大家分享的,是一些实战练习的小案例,如果你还是Python小白,可以再看看我前面几篇文章,如果是有了一点基础,那就尝试完成下面这些案例吧!

Python966的博客 1万+

实战指南:如何用Elasticsearch+Milvus搭建十亿级多模态搜索系统(含性能调优)

本文详细介绍了如何利用Elasticsearch和Milvus构建十亿级多模态搜索系统,包括架构设计、性能调优和实战部署。通过混合架构实现高效文本检索与向量相似度计算,显著提升查询性能与扩展能力,适用于大规模多模态数据处理场景。

x8y9z0的博客 1173

unity中VideoPlayer播放视频,使用Shader除去黑底且无黑边

1. 创建一个Shader 和 一个 材质球;Shader中复制如下代码:(此Shader代码为“ChromaKeyKit”插件中的ChromaKey_Alpa_Genera代码,但因只需要除去视频黑底而挂一个插件有点不合适) // Upgrade NOTE: replaced 'mul(UNITY_MATRIX_MVP,*)' with 'UnityObjectToClipPos(*)' Shader "ChromaKeyKit/ChromaKey/ChromaKey_Alpha_General"

weixin_42065078的博客 1748

10个疯狂的Python项目创意

这些项目构想很有可能会让你对这门神奇的语言产生兴趣!你也可以通过这些有趣同时具有挑战性的项目来增强 Python 编程技能。你知道是被称为的吗?是的,它确实是,虽然不应该在每个项目中都使用它。你可以使用它来创建桌面应用程序、游戏、移动应用程序、网站和系统软件。它甚至是最适合用于实现和算法的语言。因此,在过去的几周里,我为 Python 开发人员收集了一些独特的项目构想。这些项目构想很有可能会让你对这门神奇的语言产生兴趣。

WANGWUSAN66的博客 1931

STM32F030F4P6实战:LL库+DMA驱动WS2812全流程(附避坑指南)

本文详细介绍了如何使用STM32F030F4P6的LL库和DMA驱动WS2812 LED灯带的全流程,包括硬件选型、CubeMX配置、LL库与DMA关键实现、数据格式转换及调试技巧。特别提供了避坑指南,帮助开发者避免常见错误,提升开发效率。

weixin_29194693的博客 485
上一篇: Linux 命令 su 和 sudo 的区别?
下一篇: 90%的人都不知道!Python 中最常用的 5 种线程锁你会用吗?
菜鸟学Python
博客等级 码龄9年 8089粉丝 571原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值