Python 中的猜单词游戏

2025年3月17日 | 阅读 12 分钟

Python 是一种强大的多用途编程语言,被许多大型行业所使用。它提供了简单易用的语法,使其成为新手学习计算机编程的理想语言。Python 是一种高级编程语言。该语言的核心设计理念是注重代码的可读性和语法,使程序员或开发人员能够用几行代码表达概念。

在接下来的教程中,我们将学习如何使用 Python 编程语言创建一个猜谜游戏“猜单词”游戏

但在开始之前,让我们先了解一下这个游戏和一些规则。我们还将学习该游戏在 Python 中的分步实现。

了解猜谜游戏

这是经典单词猜测游戏之一,在两人或多人之间进行。一个人设定或定义一个单词或一组单词,而另一位或多位玩家必须在特定次数的尝试内正确猜出。它快速、简单、有教育意义,只需要一张纸和正确的拼写能力。我们也可以和电脑一起玩这个游戏。每次猜错都会失去一次生命或尝试,并且会开始出现一个“被吊死的人”的形象,一点一点地出现。目标是在吊死人死掉之前解开谜题并猜出正确的单词/短语。

Hangman Game in Python

这款经典游戏之所以如此受欢迎,是因为就像大多数游戏一样,有一些技巧、窍门和策略被用来获胜。

这款经典游戏之所以如此受欢迎,是因为就像大多数游戏一样,有一些技巧、窍门和策略被用来获胜。

了解游戏规则

在我们开始将此游戏部署到基于代码的解决方案之前,我们必须了解其规则 - 这个游戏是如何运作的?然后我们可以有效地将此游戏转换为代码片段。

游戏规则

规则 1:一个人设定一个单词或一组单词。

规则 2:玩家初步猜测一个字母,该字母可能出现在单词或单词组中。

规则 3:如果字母存在于单词/单词组中,玩家将获得一分,并可以继续猜测下一个字母。

规则 4:如果字母不在单词中,玩家将失去一次或多次尝试/分数,并且吊死人的部分形象开始出现。

规则 5:对于每个猜错的字母,吊死人的形象会一点一点地出现,直到整个图像被画完。

规则 6:同样,对于每个猜对的字母,字母都会显示在屏幕上,直到单词完成并且玩家获胜。

现在让我们了解一下 Python 中猜谜游戏的逐步实现。

Python 实现猜谜游戏

我们为这个项目使用的概念非常简单。我们在 Python 中没有创建任何实际的屏幕绘图,所以这个版本的猜谜游戏将倒计时剩余的生命次数。

现在让我们借助下面描述的步骤来理解实现。

步骤 1:导入 random 模块

步骤 2:定义一个函数来欢迎用户/玩家。

步骤 3:在函数内创建一个变量来获取用户/玩家的名字,并使用字符串方法将用户名字段捕获为首字母大写。

步骤 4:创建一个决策过程来检查用户是否只输入字母而不是数字作为名字。

现在让我们看下面的代码片段,它演示了上述步骤的实现。

文件:hangmanGame.py

说明

在上面的代码片段中,我们导入了 random 模块。然后我们定义了 greetings() 函数。我们定义了一个名为 username 的变量,该变量接受用户输入的字符串,其中包含他们的名字。然后我们使用 if-else 条件语句只接受字母作为名字。

步骤 5:定义另一个函数“playAgain()”。

步骤 6:添加一个决策过程。

让我们看下面的代码片段,它演示了这些上述步骤的实现。

文件:hangmanGame.py

说明

在上面的代码片段中,我们定义了一个名为 playAgain() 的函数。我们在这个函数中询问用户是否想再次玩游戏,并将他们的回答存储在 userResponse 变量中。然后我们使用 if-else 条件语句来创建决策过程。

步骤 7:定义另一个函数“getWord()”,用于为用户生成要猜测的随机单词。

让我们看下面的代码片段,它演示了上述步骤的实现。

文件:hangman.py

说明

在上面的代码片段中,我们定义了一个名为 getWord() 的函数。在这个函数中,我们定义了一个包含一些单词的列表。然后我们使用 random 模块从列表中选择一个随机单词并返回它。

步骤 8:定义另一个函数“gameRun()”。

步骤 9:gameRun() 函数内调用 greetings() 函数,以开始游戏。

步骤 10:在函数内定义一个“alphabet”变量。

步骤 11:将“randomWord”变量(用于猜测的单词)设置为 getWord() 函数,以便选择一个随机单词。

步骤 12:初始化一个空列表来存储猜过的字母。

步骤 13:初始化“attempts”变量来存储用户进行的尝试次数。

步骤 14:将初始猜测设置为“False”。

步骤 15:打印一个空行。

步骤 16:为用户打印一个猜测提示,显示单词中包含多少个字母。

让我们看下面的代码片段,它演示了步骤 8 - 16 的实现。

文件:hangmanGame.py

说明

在上面的代码片段中,我们定义了一个名为 gameRun() 的函数。我们在该函数内调用了 greetings() 函数。然后我们定义了一个名为 alphabet 的变量。我们调用了 getWord() 函数,并将返回的值存储在名为 randomWord 的变量中。然后我们初始化了一个用于存储猜过字母的空列表和一个设置为总尝试次数的变量。然后我们将 guess 的初始值设置为 False。最后,我们为用户打印了一个猜测提示,显示单词中包含多少个字母。

步骤 17:gameRun() 函数内初始化一个 while 循环,并创建决策,考虑玩家是只输入一个字母还是输入整个单词。

步骤 18:此外,创建决策来检查用户输入的输入值是否错误,以及用户输入的是字母且不等于要猜测的单词中的总字母数。

步骤 19:每次用户未能正确猜测时,都会扣除 attempts

步骤 20:gameRun() 函数结束时,如果玩家希望继续,则初始化 playAgain() 函数。

现在让我们看下面的代码片段,它演示了这些上述步骤 17 - 20 的实现。

文件:hangmanGame.py

说明

在上面的代码片段中,我们使用了 while 循环。在该循环内,我们使用了 if-elif-else 条件语句来检查玩家输入的猜测是单个字母还是整个单词。我们还检查了玩家输入的数值是否正确。我们还检查了用户输入的字母是否等于要猜测的单词中的总字母数。然后每次用户未能正确猜测时,我们都会扣除 attempts。最后,如果玩家想在 gameRun() 函数中继续,我们初始化了 playAgain() 函数。

步骤 21:调用 gameRun() 函数来执行程序。

让我们看下面的代码片段,它演示了上述步骤的实现。

文件:hangmanGame.py

说明

在上面的代码片段中,我们调用了 gameRun() 函数来执行程序。

猜谜游戏”程序的编码终于完成了。我们现在可以保存文件并运行程序,看看它是否正常工作。

要运行程序,我们可以在命令行 shell 或终端中键入以下命令

命令

但在我们看到输出之前,这里有一个完整的项目代码。

完整的项目代码

以下程序文件是“猜谜游戏”项目的完整代码。

文件:hangmanGame.py

输出

                    ==================================================
                    > Welcome to the Hangman Game! Enter your name:  <
                    Tyler

                >> Hello, Tyler! We are glad to have you here! <<
                You will be playing against the computer today. The computer will
                randomly choose a word and you will try to guess the correct word
                You can always invite the friends for a fun time together
                ==================================================================
                Good Luck! Have fun playing


The Word consists of 6 letters.
______
You have 6 attempts
Guess a letter in the word or enter the full word: e
Awesome! This letter is present in the word!
____e_
You have 6 attempts
Guess a letter in the word or enter the full word: l
Oops! that letter is not a part of a word.
____e_
You have 5 attempts
Guess a letter in the word or enter the full word: p
Awesome! This letter is present in the word!
___pe_
You have 5 attempts
Guess a letter in the word or enter the full word: c
Oops! that letter is not a part of a word.
___pe_
You have 4 attempts
Guess a letter in the word or enter the full word: a
Awesome! This letter is present in the word!
__ape_
You have 4 attempts
Guess a letter in the word or enter the full word: g 
Awesome! This letter is present in the word!
g_ape_
You have 4 attempts
Guess a letter in the word or enter the full word: r
Awesome! This letter is present in the word!
grape_
You have 4 attempts
Guess a letter in the word or enter the full word: s
Awesome! This letter is present in the word!
grapes
Awesome! You guessed the word correctly!
Would you like to play again? Y or N: n
Hope you had fun playing this game. See you next time!