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

技术标签: python  人工智能  开发语言  

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

那么要想学会并掌握Python,可以实战的练习项目是必不可少的。

接下来,我将给大家介绍20个非常实用的Python项目,帮助大家更好的学习Python。

大家也可根据项目的需求,自己构建解决方法,提高编程水平。

源码都整理好了,直接在文末名片自取。

① 猜字游戏

在这个游戏中,你必须一个字母一个字母的猜出秘密单词。

如果你猜错了一个字母,你将丢掉一条命。

正如游戏名那样,你需要仔细选择字母,因为你的生命数量非常有限。

效果展示


② 闹钟

闹钟是一种具有可以在预先设定的时间被激活以响铃的功能的时钟,用于唤醒打工人们。

使用Python中的DateTime模块来创建闹钟,并用Python中的playsound库来播放闹钟声音。

来测试一下,设置一个闹钟,到指定时间就会有音乐响起。

效果展示


③ 骰子模拟器

可以通过选择1到6之间的随机整数,来完成骰子模拟。

使用random.randint()函数。函数根据我们指定的开始和结束范围返回一个随机整数。

效果展示

④ 二维码

二维码是用于将数据编码和解码为机器可读的方法。

包含一个白色背景上的黑色方块网格,可以被任何成像设备(如手机)读取,并进行处理以从图案中提取所需的数据。

效果展示

打了个马赛克,防止被制裁。

⑤ 语言检测

当你需要处理包含不同语言数据,且数据非常大的时候,语言检测就派上用场了。

使用Python中的langdetect包,可以在几行代码内检测超过55种不同的语言。

效果展示

⑥ 加密和解密

密码术意味着更改消息的文本,以便不知道你秘密的人永远不会理解你的消息。

下面就来创建一个GUI应用程序,使用Python进行加密和解密。

在这里,我们需要编写使用无限循环的代码,代码将不断询问用户是否要加密或解密消息。

效果展示


⑦ URL缩短

短网址由于易于记忆和输入,因此在数字营销领域非常受欢迎。

这里给大家介绍一下,如何使用Python创建URL缩短器。

运行代码,输出如下。

# 输出
https://tinyurl.com/y4z6z2gq

⑧ 音乐播放器

音乐播放器,可让你快速轻松地管理和收听所有音乐文件。

应该不少小伙伴都使用过,网易云音乐、QQ音乐、酷狗音乐等。

这里小F将使用Pygame和Tkinter,来创建一个音乐播放器。

选择音乐文件所在的文件夹,点击播放,即可听见音乐。


⑨ 生命游戏

生命游戏由英国数学家约翰·H·康威设计的,是一种类似于生物社会的兴衰和交替的游戏。


游戏使用无限大小的矩形网格,其中每个网格都是空的或被有机体占据。被占用的细胞是活的,而空的细胞是死的。

游戏在特定时期内进行,每一轮都会根据当前配置中生物体的排列创建一个新的世代。

下一代网格的状态,是通过将以下四个基本规则应用于当前配置的每个网格来确定的:

  • 如果一个细胞还活着并且有两个或三个活着的邻居,那么该细胞在下一代中仍然活着;

  • 一个没有活邻居或只有一个活邻居的活细胞会在下一代死于孤立;

  • 有四个或更多活邻居的活细胞会因下一代人口过剩而死亡;

  • 一个只有三个活着的邻居的死细胞会导致出生并在下一代中存活;

结果如下

# 输入
board = [[1, 0, 0], [1, 0, 0], [1, 0, 0]]

# 输出
board = [[0, 0, 0], [1, 1, 0], [0, 0, 0]]

⑩ Turtle绘图

Turtle模块提供了在二维平面上移动的环境。

Turtle可以实现位置、航向和各种可能的状态和动作。

绘制时间较长,结果如下,挺好看的。

⑪ 计算器

Kivy是一个免费的开源Python库,可以快速轻松地开发高度交互的跨平台应用程序。

这里我将使用Python中的Kivy包来构建一个计算器GUI。

运行代码,出现一个计算器,非常好用!


⑫ 猜数游戏

猜数字游戏目的是猜测出程序想出的数字,基本逻辑:

  • 程序随机选择1到100之间的一个数字或任何其他数字组合;

  • 然后它会要求玩家输入它的建议;

  • 然后它会检查这个数字是否与计算机随机生成的数字相同;如果是,则玩家获胜;

  • 如果玩家的猜测不一样,那么它会检查数字是否高于或低于猜测并告诉玩家;

运行代码,来猜一猜。


⑬ 图像转换器

我们知道有大量的图像文件格式可用于存储图形数据,最流行的便是JPG和PNG。

使用Python中的Tkinter库和PIL库,创建一个将PNG图像转换为JPG的应用程序。

运行代码,选择图片,点击转换按钮,即可完成图像格式变换。


⑭ 重量转换器

重量换算是指单位值乘以标准换算值。

使用Python中的Tkinter库创建一个重量转换器应用程序。

运行代码,出现界面,输入数值,点击转换。


⑮ 年龄和性别检测

使用Python编程语言带你完成使用机器学习进行年龄和性别检测的任务。

首先需要编写用于检测人脸的代码,因为如果没有人脸检测,我们将无法进一步完成年龄和性别预测的任务。

下一步是预测图像中人的性别。在这里,我将性别网络加载到内存中,并将检测到的人脸通过网络传输,用于性别检测任务。

下一个任务是预测图像中人类的年龄。这里我将加载网络并使用前向传递来获取输出。由于网络架构与性别网络相似,我们可以充分利用所有输出来获得任务的预期年龄组来检测年龄。

运行代码,结果如下


性别是OK的,就是年龄差了点意思。

⑯ 人脸检测

构建一个检测人脸的程序是开始机器学习计算机视觉任务的好方法。

使用Python的OpenCV库进行人脸检测的任务。

原图如下。


检测结果。


⑰ 铅笔素描

使用不到20行的Python代码将图像转换为铅笔素描。

结果如下。


⑱ 文本编辑器

使用Python创建一个文本编辑器GUI,它可以创建、打开、编辑和保存文本文件。

所有小部件的排列方式应使按钮小部件位于窗口布局的左侧,而文本框小部件位于右侧。

结果如下。


⑲ 图像分割

图像分割是机器视觉应用中将数字图像划分为一组像素的关键过程之一。

看看下面的图片,糖果按特定顺序排列形成一个词。


如果具有视觉的机器人是按颜色来计算糖果的数量,那么了解糖果之间的界限对它来说就很重要。

我们可以使用散点图,根据糖果的颜色对图像进行分割。

最后我们可以根据颜色,正确地分割图像中的糖果。

结果如下。


⑳ 模拟时钟

使用Tkinter制作一个简单的模拟时钟GUI应用程序。

结果如下。


好了,以上就是今天分享的内容,大家可以自行去动手练习。

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/ooowwq/article/details/131492092

智能推荐

class和struct的区别-程序员宅基地

文章浏览阅读101次。4.class可以有⽆参的构造函数,struct不可以,必须是有参的构造函数,⽽且在有参的构造函数必须初始。2.Struct适⽤于作为经常使⽤的⼀些数据组合成的新类型,表示诸如点、矩形等主要⽤来存储数据的轻量。1.Class⽐较适合⼤的和复杂的数据,表现抽象和多级别的对象层次时。2.class允许继承、被继承,struct不允许,只能继承接⼝。3.Struct有性能优势,Class有⾯向对象的扩展优势。3.class可以初始化变量,struct不可以。1.class是引⽤类型,struct是值类型。

android使用json后闪退,应用闪退问题:从json信息的解析开始就会闪退-程序员宅基地

文章浏览阅读586次。想实现的功能是点击顶部按钮之后按关键字进行搜索,已经可以从服务器收到反馈的json信息,但从json信息的解析开始就会闪退,加载listview也不知道行不行public abstract class loadlistview{public ListView plv;public String js;public int listlength;public int listvisit;public..._rton转json为什么会闪退

如何使用wordnet词典,得到英文句子的同义句_get_synonyms wordnet-程序员宅基地

文章浏览阅读219次。如何使用wordnet词典,得到英文句子的同义句_get_synonyms wordnet

系统项目报表导出功能开发_积木报表 多线程-程序员宅基地

文章浏览阅读521次。系统项目报表导出 导出任务队列表 + 定时扫描 + 多线程_积木报表 多线程

ajax 如何从服务器上获取数据?_ajax 获取http数据-程序员宅基地

文章浏览阅读1.1k次,点赞9次,收藏9次。使用AJAX技术的好处之一是它能够提供更好的用户体验,因为它允许在不重新加载整个页面的情况下更新网页的某一部分。另外,AJAX还使得开发人员能够创建更复杂、更动态的Web应用程序,因为它们可以在后台与服务器进行通信,而不需要打断用户的浏览体验。在Web开发中,AJAX(Asynchronous JavaScript and XML)是一种常用的技术,用于在不重新加载整个页面的情况下,从服务器获取数据并更新网页的某一部分。使用AJAX,你可以创建异步请求,从而提供更快的响应和更好的用户体验。_ajax 获取http数据

Linux图形终端与字符终端-程序员宅基地

文章浏览阅读2.8k次。登录退出、修改密码、关机重启_字符终端

随便推点

Python与Arduino绘制超声波雷达扫描_超声波扫描建模 python库-程序员宅基地

文章浏览阅读3.8k次,点赞3次,收藏51次。前段时间看到一位发烧友制作的超声波雷达扫描神器,用到了Arduino和Processing,可惜啊,我不会Processing更看不懂人家的程序,咋办呢?嘿嘿,所以我就换了个思路解决,因为我会一点Python啊,那就动手吧!在做这个案例之前先要搞明白一个问题:怎么将Arduino通过超声波检测到的距离反馈到Python端?这个嘛,我首先想到了串行通信接口。没错!就是串口。只要Arduino将数据发送给COM口,然后Python能从COM口读取到这个数据就可以啦!我先写了一个测试程序试了一下,OK!搞定_超声波扫描建模 python库

凯撒加密方法介绍及实例说明-程序员宅基地

文章浏览阅读4.2k次。端—端加密指信息由发送端自动加密,并且由TCP/IP进行数据包封装,然后作为不可阅读和不可识别的数据穿过互联网,当这些信息到达目的地,将被自动重组、解密,而成为可读的数据。不可逆加密算法的特征是加密过程中不需要使用密钥,输入明文后由系统直接经过加密算法处理成密文,这种加密后的数据是无法被解密的,只有重新输入明文,并再次经过同样不可逆的加密算法处理,得到相同的加密密文并被系统重新识别后,才能真正解密。2.使用时,加密者查找明文字母表中需要加密的消息中的每一个字母所在位置,并且写下密文字母表中对应的字母。_凯撒加密

工控协议--cip--协议解析基本记录_cip协议embedded_service_error-程序员宅基地

文章浏览阅读5.7k次。CIP报文解析常用到的几个字段:普通类型服务类型:[0x00], CIP对象:[0x02 Message Router], ioi segments:[XX]PCCC(带cmd和func)服务类型:[0x00], CIP对象:[0x02 Message Router], cmd:[0x101], fnc:[0x101]..._cip协议embedded_service_error

如何在vs2019及以后版本(如vs2022)上添加 添加ActiveX控件中的MFC类_vs添加mfc库-程序员宅基地

文章浏览阅读2.4k次,点赞9次,收藏13次。有时候我们在MFC项目开发过程中,需要用到一些微软已经提供的功能,如VC++使用EXCEL功能,这时候我们就能直接通过VS2019到如EXCEL.EXE方式,生成对应的OLE头文件,然后直接使用功能,那么,我们上篇文章中介绍了vs2017及以前的版本如何来添加。但由于微软某些方面考虑,这种方式已被放弃。从上图中可以看出,这一功能,在从vs2017版本15.9开始,后续版本已经删除了此功能。那么我们如果仍需要此功能,我们如何在新版本中添加呢。_vs添加mfc库

frame_size (1536) was not respected for a non-last frame_frame_size (1024) was not respected for a non-last-程序员宅基地

文章浏览阅读785次。用ac3编码,执行编码函数时报错入如下:[ac3 @ 0x7fed7800f200] frame_size (1536) was not respected for anon-last frame (avcodec_encode_audio2)用ac3编码时每次送入编码器的音频采样数应该是1536个采样,不然就会报上述错误。这个数字并非刻意固定,而是跟ac3内部的编码算法原理相关。全网找不到,国内音视频之路还有很长的路,音视频人一起加油吧~......_frame_size (1024) was not respected for a non-last frame

Android移动应用开发入门_在安卓移动应用开发中要在活动类文件中声迷你一个复选框变量-程序员宅基地

文章浏览阅读230次,点赞2次,收藏2次。创建Android应用程序一个项目里面可以有很多模块,而每一个模块就对应了一个应用程序。项目结构介绍_在安卓移动应用开发中要在活动类文件中声迷你一个复选框变量

推荐文章

热门文章

相关标签