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


!仅供参考

相关推荐
0zxm2 分钟前
06 - Django 视图view
网络·后端·python·django
Am心若依旧40927 分钟前
[c++11(二)]Lambda表达式和Function包装器及bind函数
开发语言·c++
明月看潮生29 分钟前
青少年编程与数学 02-004 Go语言Web编程 20课题、单元测试
开发语言·青少年编程·单元测试·编程与数学·goweb
大G哥39 分钟前
java提高正则处理效率
java·开发语言
ROBOT玲玉43 分钟前
Milvus 中,FieldSchema 的 dim 参数和索引参数中的 “nlist“ 的区别
python·机器学习·numpy
VBA63371 小时前
VBA技术资料MF243:利用第三方软件复制PDF数据到EXCEL
开发语言
轩辰~1 小时前
网络协议入门
linux·服务器·开发语言·网络·arm开发·c++·网络协议
小_太_阳1 小时前
Scala_【1】概述
开发语言·后端·scala·intellij-idea
向宇it1 小时前
【从零开始入门unity游戏开发之——unity篇02】unity6基础入门——软件下载安装、Unity Hub配置、安装unity编辑器、许可证管理
开发语言·unity·c#·编辑器·游戏引擎
Kai HVZ2 小时前
python爬虫----爬取视频实战
爬虫·python·音视频