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编写一个简单的猜数字游戏。这不仅是一个有趣的编程练习,也是一个了解基本编程概念的好机会。你可以在此基础上添加更多的功能,比如设置不同的难度级别,或者增加一个计分系统,来使游戏更加有趣和具有挑战性。


!仅供参考

相关推荐
Dxy1239310216几秒前
中文乱码恢复方案
开发语言·python
浅念-19 分钟前
C/C++内存管理
c语言·开发语言·c++·经验分享·笔记·学习
回敲代码的猴子28 分钟前
2月8日上机
开发语言·c++·算法
rongyili8844 分钟前
Dify 外部知识库集成 Milvus 实战指南
开发语言·python·milvus
Hello eveybody1 小时前
什么是动态规划(DP)?(Python版)
python·动态规划
IT猿手1 小时前
MOEA/D(基于分解的多目标进化算法)求解46个多目标函数及一个工程应用,包含四种评价指标,MATLAB代码
开发语言·算法·matlab·多目标算法
野犬寒鸦1 小时前
从零起步学习并发编程 || 第九章:Future 类详解及CompletableFuture 类在项目实战中的应用
java·开发语言·jvm·数据库·后端·学习
南 阳2 小时前
Python从入门到精通day34
开发语言·python
前路不黑暗@2 小时前
Java项目:Java脚手架项目的统一模块的封装(四)
java·开发语言·spring boot·笔记·学习·spring cloud·maven
消失的旧时光-19432 小时前
第二十四课:从 Java 后端到系统架构——后端能力体系的最终总结
java·开发语言·系统架构