Python快速编程小案例——猜数字

提示:(个人学习),案例来自工业和信息化"十三五"人才培养规划教材,《Python快速编程入门》第2版,黑马程序员◎编著


猜数游戏是一种经典的密码破译类益智游戏,通常由两个人参与。一个人在心中设定一个数字,另一个人尝试猜测这个数字。在每次猜测后,设定数字的人会根据猜测结果给出提示:"很遗憾,你猜大了"、"很遗憾,你猜小了"或者"恭喜,猜数成功"。这种游戏不仅考验玩家的逻辑推理能力,还能带来不少乐趣。

一、实例目标

通过完成本实例,你将了解、熟悉或掌握以下知识或技能:

  1. while 循环的使用
  2. break 的基本用法

二、实例分析

在这个案例中,我们将实现一个猜数字游戏,游戏的目标是猜测一个1到100之间的整数。玩家通过 input() 函数输入猜测的数字,并且只有5次猜测机会。为了控制循环次数,我们将使用 while 循环和 range() 函数。在猜数过程中,我们需要对玩家的输入进行判断,使用 if-elif 语句进行条件判断,使用 isdigit() 方法判断输入是否为数字,并使用比较运算符确保输入的数字在1到100的范围内。如果玩家猜中了数字,我们将使用 break 语句跳出循环。

三、代码实现

python 复制代码
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))

四、运行结果

五、代码解释

  1. 导入random模块 :我们使用random.randint(1, 100)来生成一个1到100之间的随机数,这个数字就是玩家需要猜测的数字。

  2. 设置猜测次数 :我们使用一个for循环来给玩家5次猜测的机会。

  3. 获取用户输入 :使用input()函数获取玩家的猜测,并使用isdigit()方法检查输入是否为数字。

  4. 判断玩家输入:如果玩家的输入是数字,并且位于1到100之间,我们将其与生成的随机数进行比较,并给出相应的提示。

  5. 结束游戏:如果玩家在5次尝试内猜对了数字,程序会恭喜玩家并结束游戏。如果5次尝试后玩家仍未猜对,程序会显示正确答案。

六、结语

通过这篇文章,我们介绍了如何使用Python编写一个简单的猜数字游戏。这不仅是一个有趣的编程练习,也是一个了解基本编程概念的好机会。你可以在此基础上添加更多的功能,比如设置不同的难度级别,或者增加一个计分系统,来使游戏更加有趣和具有挑战性。


!仅供参考

相关推荐
多米Domi01119 小时前
0x3f 第43天 黑马点评全量复习一遍 + 栈两题
开发语言·数据结构·python·算法·leetcode
小二·19 小时前
Python Web 开发进阶实战:AI 原生硬件接口 —— 在 Flask + MicroPython 中构建边缘智能设备控制平台
前端·人工智能·python
码农水水19 小时前
京东Java面试被问:分布式会话的一致性和容灾方案
java·开发语言·数据库·分布式·mysql·面试·职场和发展
deephub19 小时前
用 PydanticAI 让 LLM 输出变成可信赖的 Python 对象
人工智能·python·大语言模型·agent
白小筠19 小时前
迭代器与生成器
开发语言·python
郝学胜-神的一滴19 小时前
Linux网络字节序详解:从理论到实践
linux·服务器·c语言·开发语言·c++·网络协议·程序人生
带带弟弟学爬虫__19 小时前
速通新Baidu Frida检测
前端·javascript·vue.js·python·网络爬虫
b20772119 小时前
Flutter for OpenHarmony 身体健康状况记录App实战 - 运动分析实现
python·flutter·harmonyos
Tansmjs19 小时前
使用Pandas进行数据分析:从数据清洗到可视化
jvm·数据库·python
2401_8414956419 小时前
【操作系统】进程的算法
python·算法·操作系统·进程·进程调度算法·进程同步与互斥算法·死锁处理算法