10个适合初学者的Python迷你项目

2025 年 1 月 5 日 | 阅读 10 分钟

以下是十个最令人惊叹的 Python 项目及源代码

  • 随机故事生成器
  • 简单的邮件切片器
  • 缩写词生成器
  • 身体质量指数(BMI)计算器
  • 骰子模拟器
  • 基础问答游戏
  • 石头、剪刀、布游戏
  • 聊天机器人
  • 文本转语音
  • 井字棋项目

随机故事生成器

这是初学者入门 Python 最迷人的源代码项目之一。随机故事生成器项目旨在每次用户执行代码时生成一个独特而随机的故事。

使用的模块: Random 模块。

源代码

输出

Python 对于专业人士来说是一个非常重要的主题;您可以在 Code Studio 学习它。

说明

每次我们构建和执行这段代码时,我们都会得到随机的输出。Random 模块允许用户从故事的随机片段中进行选择,这些片段排列在不同的列表中。

简单的邮件切片器

一个重要的项目称为邮件切片器,它接收电子邮件地址作为输入,并输出与该电子邮件地址相关的用户名和域名。

使用的函数: 切片函数

源代码

输入

输出

 
Your user name is 'nidhi and your domain is 'javatpoint.com'   

说明

strip 函数用于消除任何空白。代码将查找用户输入中“@”符号的索引。使用索引,邮件被分成用户名和域名部分。

缩写词生成器

这个项目使用提供的字符串来构建一个缩写词。缩写词是一个被缩短的术语。例如,JavatPoint 的缩写是 JTP。

使用的函数: 分割和索引

源代码

输入

输出

 
NLP   

说明

在上面的代码中,我们首先要求用户输入一个字符串。

Python 中的 split() 函数将分割用户输入。为了保存句子的缩写词,我们创建了一个名为“n”的新变量。为了获得大写字母作为缩写词,我们使用 upper() 函数。

身体质量指数(BMI)计算器

一个人可以通过体重(公斤)除以身高(米)的平方来计算其身体质量指数。现在,让我们看看如何创建一个 Python BMI 计算器。

源代码

输入

输出

 
Your Body Mass Index is:  20.23950075898128
Hooray! You are Healthy :)   

说明

在上面的代码中,我们首先要求用户输入他们的身高和体重。

对于输出,我们将使用简单的 if-else 语句。

骰子模拟器

我们将看一个简单的 Python 项目,其中包含用于模拟骰子滚动的源代码。

使用的模块: Random 模块

使用的函数: random.randint() 函数

源代码

输出

 
Rolling your Dice...
The Values are :
3
6
Do you want to roll the Dices Again? yes
Rolling your Dice...
The Values are :
6
5   

说明

由于骰子滚动的值可以低至 1,高至 6,因此给出的代码可以模拟骰子滚动。这将为我们将要使用的 random.randint() 函数提供开始和结束整数。

基础问答游戏

我们将创建一个简单的问答游戏。当所有问题都回答正确后,问答游戏结束。

源代码

输出

 
Guess Correct Answer
Who developed the Python language? Guido van Rossum
Correct Answer
What is the correct extension of the Python file? .py
Correct Answer
What do we use to define a block of code in Python language? Indentation
Correct Answer
Your total score is 3   

说明

我们将首先制定问题和回答问题的方法。然后将介绍提供玩家三次机会回答每个问题的代码。

石头、剪刀、布游戏

在这里,我们将使用 Python 创建一个名为石头、剪刀、布的游戏。

使用的模块: Random 模块

源代码

输出

 
Rock, Paper or  Scissors? paper
Tie!
Rock, Paper or  Scissors? end
Final Scores:
Computer's score is:0
Your score is:0   

说明

正在将计算机(机器)和用户的选择进行比较。Python 中的随机模块用于从选项列表中选择机器的选项。如果用户获胜,用户得分将增加一;否则,机器得分将增加一。

聊天机器人

旨在模仿与人类用户通信的计算机软件程序——尤其是在互联网上——称为聊天机器人。聊天机器人通常有两种类型。

  • 基于规则: 基于一些预定义的规则。
  • 自学习: 基于机器学习算法。

在这里,我们将创建一个基于规则的聊天机器人。

使用的库: NLTK(自然语言工具包)

使用的模块: Chat

使用的字典: Reflections

源代码

开始对话

输出

 
Hi, I'm a bot, and my name is Ninja.
Please type your query. Type quit to leave.
>hey
Hello
>what is your name?
My name is Ninja and I'm a chatbot.
>will you help me?
I can help you.
>quit
Bye. See you soon :)   

文本转语音

文本转语音(TTS)是一种辅助技术,可以大声朗读数字文本。它的另一个名称是“朗读”技术。在这里,我们将使用 Python 开发一个 TTS 项目。

使用的库: NLTK(自然语言工具包)、Newspaper、gTTS(谷歌文本转语音)。

源代码

运行 TTS

井字棋项目

井字棋游戏非常有名。每个人从小就玩过它。为了重新创建它,让我们创建一个 Python 项目。我们将使用 try-exception 块、用户定义的函数、if-else 语句、循环和游戏中包含的逻辑。

源代码

输出

 
First Player
Name: Alex


Second Player
Name: Jordan


	********************************
	         SCORE BOARD       
	********************************
	    Alex 	     0
	    Jordan 	     0
	********************************

Alex will make the choice:
Press 1 for X
Press 2 for O
Press 3 to Quit
1

	     |     |     
	  X  |     |     
	_____|_____|_____
	     |     |     
	     |     |     
	_____|_____|_____
	     |     |     
	     |     |     
	     |     |     

Jordan 's turn. Choose the Block for your turn : 2

	     |     |     
	  X  |  O  |     
	_____|_____|_____
	     |     |     
	     |     |     
	_____|_____|_____
	     |     |     
	     |     |     
	     |     |     

Alex 's turn. Choose the Block for your turn : 5

	     |     |     
	  X  |  O  |     
	_____|_____|_____
	     |     |     
	     |  X  |     
	_____|_____|_____
	     |     |     
	     |     |     
	     |     |     

Jordan 's turn. Choose the Block for your turn : 8

	     |     |     
	  X  |  O  |     
	_____|_____|_____
	     |     |     
	     |  X  |     
	_____|_____|_____
	     |     |     
	     |  O  |     
	     |     |     

Alex 's turn. Choose the Block for your turn : 9

	     |     |     
	  X  |  O  |     
	_____|_____|_____
	     |     |     
	     |  X  |     
	_____|_____|_____
	     |     |     
	     |  O  |  X
	     |     |     

Congrats! X has won!!

	********************************
	         SCORE BOARD       
	********************************
	    Alex 	     1
	    Jordan 	     0
	********************************   

说明

我们使用两个玩家来开发井字棋模拟。我们决定为每个玩家保留一个记分牌。接下来,我们一次获取每个玩家的回合的块号。如果任何模式适合已建立的模式,游戏将继续由第二名玩家先玩。如果不是,则该玩家获胜。