提示:(个人学习),案例来自工业和信息化“十三五”人才培养规划教材,《Python快速编程入门》第2版,黑马程序员◎编著
猜数游戏是一种经典的密码破译类益智游戏,通常由两个人参与。一个人在心中设定一个数字,另一个人尝试猜测这个数字。在每次猜测后,设定数字的人会根据猜测结果给出提示:“很遗憾,你猜大了”、“很遗憾,你猜小了”或者“恭喜,猜数成功”。这种游戏不仅考验玩家的逻辑推理能力,还能带来不少乐趣。
一、实例目标
通过完成本实例,你将了解、熟悉或掌握以下知识或技能:
while
循环的使用break
的基本用法
二、实例分析
在这个案例中,我们将实现一个猜数字游戏,游戏的目标是猜测一个1到100之间的整数。玩家通过 input()
函数输入猜测的数字,并且只有5次猜测机会。为了控制循环次数,我们将使用 while
循环和 range()
函数。在猜数过程中,我们需要对玩家的输入进行判断,使用 if-elif
语句进行条件判断,使用 isdigit()
方法判断输入是否为数字,并使用比较运算符确保输入的数字在1到100的范围内。如果玩家猜中了数字,我们将使用 break
语句跳出循环。
三、代码实现
import random
# 生成一个1到100之间的随机数
guess_num = random.randint(1, 100)
# 给玩家5次猜测的机会
for frequency in range(1, 6):
number = input("请输入第" + str(frequency) + "次猜测的数字: ")
if not number.isdigit():
print('请输入一个正确的数字')
elif int(number) < 0 or int(number) > 100:
print("请输入1-100范围的数字")
elif int(number) == guess_num:
print("恭喜你用了{}次猜对了".format(frequency))
break
elif int(number) < guess_num:
print("很遗憾,你猜小了")
else:
print("很遗憾,你猜大了")
# 如果玩家5次都没有猜对,告诉他们正确答案
if frequency == 5:
print("很遗憾,5次机会已用尽,游戏结束。答案为{}".format(guess_num))
四、运行结果
五、代码解释
-
导入random模块:我们使用
random.randint(1, 100)
来生成一个1到100之间的随机数,这个数字就是玩家需要猜测的数字。 -
设置猜测次数:我们使用一个
for
循环来给玩家5次猜测的机会。 -
获取用户输入:使用
input()
函数获取玩家的猜测,并使用isdigit()
方法检查输入是否为数字。 -
判断玩家输入:如果玩家的输入是数字,并且位于1到100之间,我们将其与生成的随机数进行比较,并给出相应的提示。
-
结束游戏:如果玩家在5次尝试内猜对了数字,程序会恭喜玩家并结束游戏。如果5次尝试后玩家仍未猜对,程序会显示正确答案。
六、结语
通过这篇文章,我们介绍了如何使用Python编写一个简单的猜数字游戏。这不仅是一个有趣的编程练习,也是一个了解基本编程概念的好机会。你可以在此基础上添加更多的功能,比如设置不同的难度级别,或者增加一个计分系统,来使游戏更加有趣和具有挑战性。
!仅供参考