Python 猜谜游戏
本篇文章将介绍用 Python 开发一个简单的猜数字游戏的过程。
猜谜游戏机制
我们正在尝试开发一款游戏,从用户处获取上限和下限,生成该范围内的随机数,要求用户猜测该数字,并计算用户猜测正确的次数。 该游戏将仅基于 CLI。
Python 中随机模块的猜数游戏
我们的程序所做的第一件事是将用户的上限和下限作为输入。 这可以通过 Python 的内置 input()
方法来完成。
input()
方法从命令行读取输入并将其作为字符串返回。 这里唯一的问题是我们想要输入整数值。
我们可以将 input()
方法包装在内置 int()
方法中来解决该问题。 这会将 input()
方法返回的输入字符串转换为整数值。
以下示例显示了此步骤的有效实现。
代码:
lower_limit = int(input("Please enter the Lower Limit"))
upper_limit = int(input("Please enter the Upper Limit"))
print("Lower Limit =", lower_limit)
print("Upper Limit =", upper_limit)
输出:
Please enter the Lower Limit0
Please enter the Upper Limit99
Lower Limit = 0
Upper Limit = 99
我们可以在 input()
方法中输入数据作为输入参数,同时编写想要向用户显示的消息。 由于我们有下限和上限,因此我们可以轻松编写一些代码来生成该范围内的随机整数。
我们可以使用 Python 中内置的 random 模块来执行此任务,称为 random.randint()
方法。 它将下限和上限作为输入参数,并返回该范围内的整数。
下一个代码示例展示了如何使用 Python 的 random.randint()
方法生成指定范围内的随机整数。
代码:
import random
number = random.randint(lower_limit, upper_limit)
print("Random Number =", number)
输出:
Random Number = 47
到目前为止,我们已经从用户那里获取了限制,并在这些限制内生成了一个随机整数。 我们必须接受用户的猜测并将其与随机生成的数字进行比较。
这可以通过将 input()
方法与简单的 if/else 块相结合来实现。
代码:
guess = int(input("Guess the number"))
if guess == number:
print("Yes, You are correct")
else:
print("Incorrect Answer!")
输出:
Guess the number15
Incorrect Answer!
这里唯一的问题是它没有给我们猜测正确数字的线索。 它告诉我们是对还是错,这并不是一种有趣的游戏方式。
我们可以通过放置多个 if 语句并在循环内执行它们来改进这一点,直到用户猜到正确的数字。
代码:
win = False
while win != True:
guess = int(input("Guess the number"))
if guess == number:
win = True
print("Yes, You are correct")
elif guess < number:
print("You are a little shorter")
else:
print("You are a little larger")
输出:
Guess the number5
You are a little shorter
Guess the number95
You are a little larger
Guess the number47
Yes, You are correct
我们使用了 while 循环,因为我们不知道用户需要进行多少次尝试才能得到正确的答案。 我们创建了一个标志变量 win 来告诉 while 循环何时停止,并且 win 变量设置为 False 直到用户猜到正确的数字。
我们的猜数字游戏已基本完成,唯一缺少的是分数计数器,用于计算用户在得出正确答案时进行的尝试次数。 我们可以修改之前的代码并在循环中使用计数器变量。
下面的代码片段展示了我们如何为我们的猜数字游戏添加计分机制。
代码:
win = False
steps = 0
while win != True:
guess = int(input("Guess the number"))
steps += 1
if guess == number:
win = True
print("Yes, You are correct")
print("Number of Trails =", steps)
elif guess < number:
print("You are a little shorter")
else:
print("You are a little larger")
输出:
Guess the number22
You are a little shorter
Guess the number44
You are a little shorter
Guess the number47
Yes, You are correct
Number of Trails = 3
我们添加了一个步数计数器,用于跟踪用户完成游戏的尝试次数。
代码:
import random
lower_limit = int(input("Please enter the Lower Limit"))
upper_limit = int(input("Please enter the Upper Limit"))
number = random.randint(lower_limit, upper_limit)
win = False
steps = 0
while win != True:
guess = int(input("Guess the number"))
steps += 1
if guess == number:
win = True
print("Yes, You are correct")
print("Number of Trails =", steps)
elif guess < number:
print("You are a little shorter")
else:
print("You are a little larger")
输出:
Please enter the Lower Limit0
Please enter the Upper Limit10
Guess the number5
You are a little larger
Guess the number2
You are a little shorter
Guess the number3
You are a little shorter
Guess the number4
Yes, You are correct
Number of Trails = 4
输出显示游戏仅运行一次。 它不会让用户继续玩游戏直到感到无聊。
我们可以将整个程序包含在另一个循环中,该循环重复执行游戏,直到用户想要退出游戏。
完整代码:
import random
play = True
while play == True:
lower_limit = int(input("Please enter the Lower Limit"))
upper_limit = int(input("Please enter the Upper Limit"))
number = random.randint(lower_limit, upper_limit)
win = False
steps = 0
while win != True:
guess = int(input("Guess the number"))
steps += 1
if guess == number:
win = True
print("Yes, You are correct")
print("Number of Trails =", steps)
elif guess < number:
print("You are a little shorter")
else:
print("You are a little larger")
replay = int(input("Enter -1 to replay the game."))
if replay != -1:
play = False
输出:
Please enter the Lower Limit1
Please enter the Upper Limit3
Guess the number2
You are a little larger
Guess the number1
Yes, You are correct
Number of Trails = 2
Enter -1 to replay the game.-1
Please enter the Lower Limit1
Please enter the Upper Limit3
Guess the number2
You are a little larger
Guess the number1
Yes, You are correct
Number of Trails = 2
Enter -1 to replay the game.0
我们创建了另一个标志变量 play,告诉我们的外部循环或主循环何时停止执行。 如果用户提供除-1之外的任何数字,外循环将停止执行,假设用户已经厌倦了重复玩这个游戏。
这是一个非常容易实现的游戏。 我们仅导入 random 模块来在代码中生成随机数。
相关文章
Python 中的 Gzip 解压
发布时间:2023/07/02 浏览次数:56 分类:Python
-
我们将介绍Python中的gzip解压。 我们还将介绍如何使用 gzip 解压缩来解压缩压缩内容。Python 中的 Gzip 解压 Python 中构建了许多用于压缩和解压缩目的的库,但我们将介绍 Gzip 库。
在 Python 中创建奇数列表
发布时间:2023/07/02 浏览次数:113 分类:Python
-
我们将在本文中介绍在 Python 中创建奇数列表的不同方法。Python 中的奇数 定义奇数有两种方法,第一种是整数不能被 2 整除时的情况。另一种是整数除以 2 时余数为 1 的情况。
在 Python 中使用 Tesseract 从图像中读取文本
发布时间:2023/07/02 浏览次数:110 分类:Python
-
我们将介绍如何使用 Python 中的 Tesseract 创建一个可以从图像中读取文本的程序。Python 中的超正方体 当我们使用需要从图像中读取文本的功能的系统时,我们会使用 Python 中的 Tesseract。
Python 中的队列实现
发布时间:2023/07/02 浏览次数:62 分类:Python
-
我们在 Python 中使用队列来执行先进先出 (FIFO) 操作。 本文将讨论 Python 中队列实现的三种不同方法。Python 中的队列实现 在队列中,我们可以执行不同的操作。
Python 行列式
发布时间:2023/07/02 浏览次数:129 分类:Python
-
矩阵的行列式是仅与方阵相关的标量。 对于方阵 [[1,2], [3,4]],行列式计算为 (1x4) - (2x3)。在Python中使用numpy.linalg.det()计算矩阵的行列式
Python 中的 Pexpect
发布时间:2023/07/02 浏览次数:157 分类:Python
-
我们将通过示例介绍Python中的Pexpect。Python 中的 Pexpect Python 是一种非常流行的语言,用于数据科学和机器学习。 它是一种非常强大的语言,因为 Python 具有可用于不同目的的内置库。
Python 中的方法重载
发布时间:2023/07/02 浏览次数:186 分类:Python
-
本篇文章将通过示例介绍Python中的方法重载及其优点。Python 中的方法重载 方法重载在 Python 中起着至关重要的作用。 方法有时采用零个参数,有时采用一个或多个参数。
Python 中的内存泄漏
发布时间:2023/07/02 浏览次数:96 分类:Python
-
内存泄漏是一个常见的编程问题,很难调试和修复。 本文将通过小型和大型示例程序探讨 Python 内存泄漏。
Python 中的 Locust
发布时间:2023/07/02 浏览次数:89 分类:Python
-
我们将通过一个例子来介绍Python中的 locust。Python 中的 locust Locust 用于 Python 中的负载测试。 它是一个非常有用且最好的 Python 负载测试工具。