当前位置: 首页 > news >正文

Python猜数小游戏

Python 实现的《猜数游戏》

介绍

本文将展示如何使用 Python 编写一个简单的《猜数游戏》。这个游戏将会生成一个1到10之间的随机数,用户有最多三次机会来猜测正确的数字。如果用户猜对了,游戏将结束并显示恭喜信息;如果没有猜对,则会提示剩余机会,直到次数用完为止。

游戏规则

  • 系统每次会生成一个1-10之间的随机数。
  • 每次游戏最多只能猜三次。
  • 输入 yesy 进入游戏。
  • 输入 non 可以退出游戏。

游戏流程将会在控制台中进行,玩家通过键盘输入来进行操作。

游戏代码实现

import randomprint("*" * 50)
print("欢迎来到 款款 的《猜数游戏》")
print("规则一:系统每次会生成一个1-10之间的随机数")
print("规则二:每次游戏最多只能猜三次")
print("规则三:进入游戏或继续玩,输入yes或y")
print("规则四:退出游戏,输入no或n")
print("*" * 50)while True:start = input("是否开始游戏:")# 定义一个记录游戏次数的变量n = 0# 用户想玩游戏if start == 'yes' or start == 'y':for n in range(0, 4):if n >= 3:print('很遗憾,您未猜中!')breakrandom_int = random.randint(1, 10)num = input('请输入您的数字:')n += 1if num == 'no' or num == 'n':breakelif int(num) != random_int:print(f'您还有{3 - n}次机会')else:print('恭喜您猜对了!')break

代码解析

  1. 游戏规则展示:通过 print() 函数展示了游戏的基本规则。

  2. 游戏开始:当用户输入 yesy 时,程序会进入游戏循环。此时程序开始处理用户的输入和猜测的逻辑。

  3. 随机数字生成:每次进入游戏时,使用 random.randint(1, 10) 随机生成一个 1 到 10 之间的数字。这个数字是用户需要猜测的目标。

  4. 用户输入:用户需要输入猜测的数字。如果输入的数字不正确,程序会提示剩余机会,并继续等待用户的猜测。

  5. 结束条件

    • 当用户猜对了数字时,程序会显示“恭喜您猜对了!”并结束游戏。
    • 如果用户的猜测次数达到 3 次并且没有猜对,则显示“很遗憾,您未猜中!”并结束游戏。

代码中的小细节

  1. n 变量的使用:该变量记录了用户的猜测次数。每次猜测后,程序会判断是否已达到最大尝试次数。

  2. 退出游戏:如果用户输入 non,游戏会退出。此时程序会提前结束游戏循环。

  3. 错误输入处理:当用户输入的数字与系统生成的随机数字不匹配时,程序会提示剩余的机会次数。该机制防止了用户输入错误后未得到反馈。

  4. 输入验证:程序只处理数字输入,且输入不符合预期时会直接继续游戏。可以进一步扩展验证用户输入为数字。

总结

这款简单的《猜数游戏》实现了一个基础的猜数逻辑,并包含了用户输入验证、随机数生成、次数限制等功能。通过这个示例,你可以更好地理解 Python 中的一些基础概念,如循环、条件判断、输入输出以及模块的使用。

改进建议:

  • 输入验证:当前代码没有对用户输入进行严格验证,例如用户可能输入非数字的字符。可以使用 try-except 来捕获这种情况,并提示用户重新输入有效的数字。
  • 功能扩展:游戏可以支持更多的自定义功能,例如玩家可以设置猜测次数、选择数字的范围,或者增加提示信息(例如猜的数字是偏大还是偏小)。
  • 用户体验:程序可以加入更多的提示和引导信息,增强用户的互动体验。
  • 我的改进版: Python 猜数游戏:代码改进与解析

希望你喜欢这个小游戏,快来试试吧!

http://www.lryc.cn/news/522023.html

相关文章:

  • --- 用java实现一个计时器 ---
  • OPI4A,目标检测,口罩检测,mnn,YoloX
  • C#与Vue2上传下载Excel文件
  • Linux(Centos7)安装Mysql/Redis/MinIO
  • 港科夜闻 | 香港科大与微软亚洲研究院签署战略合作备忘录,推动医学健康教育及科研协作...
  • 森林网络部署,工业4G路由器实现林区组网远程监控
  • ASP.NET Core - 配置系统之自定义配置提供程序
  • npm、yarn、pnpm包安装器差异性对比
  • 正点原子repo放到自己的git服务器
  • [MySQL | 二、基本数据类型]
  • 工作记录小点
  • 在PyCharm中使用Anaconda中的虚拟环境
  • ansible基础
  • 人工智能之深度学习_[2]-PyTorch入门
  • 基于Java的语音陪聊软件——支持聊天私聊-礼物系统-直播系统-缘分匹配-游戏陪玩
  • Go语言的文件操作
  • php审计1-extract函数变量覆盖
  • 百度热力图数据原理,处理及论文应用7
  • 端口镜像和端口安全
  • Elasticsearch:Jira 连接器教程第一部分
  • ThreeJs功能演示——几何体操作导入导出
  • LeetCode::2270. 分割数组的方案数
  • elementui表单验证,数据层级过深验证失效
  • 【Java】LinkedHashMap (LRU)淘汰缓存的使用
  • CancerGPT :基于大语言模型的罕见癌症药物对协同作用少样本预测研究
  • 《汽车维护与修理》是什么级别的期刊?是正规期刊吗?能评职称吗?
  • tomcat状态一直是Exited (1)
  • 消息中间件的基础概念入门
  • 基于Web的宠物医院看诊系统设计与实现(源码+定制+开发)在线预约平台、宠物病历管理、医生诊疗记录、宠物健康数据分析 宠物就诊预约、病历管理与健康分析
  • Excel数据叠加生成新DataFrame:操作指南与案例