当前位置: 首页 > 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 猜数游戏:代码改进与解析

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

相关文章:

Python猜数小游戏

Python 实现的《猜数游戏》 介绍 本文将展示如何使用 Python 编写一个简单的《猜数游戏》。这个游戏将会生成一个1到10之间的随机数,用户有最多三次机会来猜测正确的数字。如果用户猜对了,游戏将结束并显示恭喜信息;如果没有猜对&#xff0…...

--- 用java实现一个计时器 ---

这里的计时器值得是当线程设定的时间过了之后,自动执行该线程的工作 设计 MyTimer 既然是要在指定的时间之后执行任务,那么传入的参数就应该有run方法(需要执行的任务),time(在多少时间之后执行&#xff…...

OPI4A,目标检测,口罩检测,mnn,YoloX

记得之前,使用了bubbling导师复现的python版yolox,训练了自建的口罩数据集,得到了h5文件,又转换成pb文件,再使用阿里巴巴的MNN,使用它的MNNConvert,转换成mnn文件 最终实现了,在树莓…...

C#与Vue2上传下载Excel文件

1、上传文件流程:先上传文件,上传成功,返回文件名与url,然后再次发起请求保存文件名和url到数据库 前端Vue2代码: 使用element的el-upload组件,action值为后端接收文件接口,headers携带session信…...

Linux(Centos7)安装Mysql/Redis/MinIO

安装Mysql 安装Redis 搜索Redis最先版本所在的在线安装yum库 查看以上两个组件是否是开机自启 安装MinIO 开源的对象存储服务,存储非结构化数据,兼容亚马逊S3协议。 minio --help #查询命令帮助minio --server --help #查询--server帮助minio serve…...

港科夜闻 | 香港科大与微软亚洲研究院签署战略合作备忘录,推动医学健康教育及科研协作...

关注并星标 每周阅读港科夜闻 建立新视野 开启新思维 1、香港科大与微软亚洲研究院签署战略合作备忘录,推动医学健康教育及科研协作。根据备忘录,双方将结合各自于科研领域的优势,携手推动医学健康领域的交流与合作。合作方向将涵盖人才培训、…...

森林网络部署,工业4G路由器实现林区组网远程监控

在广袤无垠的林区,每一片树叶的摇曳、每一丝空气的流动,都关乎着生态的平衡与安宁。林区监控正以强大的力量,为这片绿色家园筑起一道坚固的防线。 工业 4G 路由器作为林区监控组网的守护者,凭借着卓越的通讯性能,突破…...

ASP.NET Core - 配置系统之自定义配置提供程序

ASP.NET Core - 配置系统之自定义配置提供程序 4. 自定义配置提供程序IConfigurationSourceIConfigurationProvider 4. 自定义配置提供程序 在 .NET Core 配置系统中封装一个配置提供程序关键在于提供相应的 IconfigurationSource 实现和 IConfigurationProvider 接口实现&…...

npm、yarn、pnpm包安装器差异性对比

特性npmyarnpnpm发布年份2010 年发布2016 年发布2017 年发布安装速度较慢(旧版本),但自 npm 5 后有所改善较快,尤其是在缓存方面极快,使用硬链接和全局缓存来提高速度包管理模式扁平化依赖,可能会发生重复依…...

正点原子repo放到自己的git服务器

atk-rk3568_android11 导出project-objects对应仓库 .repo/repo/repo list -n > project-object.txt将project-object.txt格式化,并通过gitolite.conf创建对应仓库 atk-rk3568_android11_repo atk-rk3568_android11/RKTools atk-rk3568_android11_repo atk-…...

[MySQL | 二、基本数据类型]

基本数据类型 一、数值类型举例表结构1. 整数类型zerofill属性 与 int(n) 中 n 的关系 2.bit类型3. 小数类型float类型decimal类型 二、字符串类型1. char2. varchar如何选择定长或变长字符串? 3. 日期时间类型(date datetime timestamp)4. enum枚举类型5. set多选类…...

工作记录小点

postman问题 postman 返回404 可以先看看这个模块是否集成到pom文件中 postman 返回200不调debug 请求参数Json有错误请求方式不对Get/Post debug报错连接失败 host文件没copy同事的 2.对应组件的不同服务白名单没添加导致的 host文件刷新 进入 C:\windows\system32\drivers\e…...

在PyCharm中使用Anaconda中的虚拟环境

1、在File菜单中找到Settings 2、Settings中搜索interpreter,找到Python Interpreter,再点击Add 3、选择第一个local interpreter 4、如图: 5、找到anaconda安装位置中的envs文件夹,在里面选择需要添加的python环境,如…...

ansible基础

ansible 1.概述 ansible是基于python语言开发,配置管理和部署应用的工具。批量的配置,部署,管理“上千台”主机 (实际一次100台左右),ansible只要在一台主机上就可以对其他主机进行操作。 (1&…...

人工智能之深度学习_[2]-PyTorch入门

PyTorch 1.PyTorch简介 1.1 什么是PyTorch PyTorch是一个基于Python的科学计算包 PyTorch安装 pip install torch -i https://pypi.tuna.tsinghua.edu.cn/simplePyTorch一个基于Python语言的深度学习框架,它将数据封装成张量(Tensor)来进行…...

基于Java的语音陪聊软件——支持聊天私聊-礼物系统-直播系统-缘分匹配-游戏陪玩

丰富的经验、成熟的技术,打造适合当下市场发展的语音交友软件源码。Java 语言凭借其独特的优势,为这款语音陪聊软件的稳健运行和持续发展奠定了坚实基础。它不仅融合了聊天私聊、礼物系统和直播系统等实用且有趣的功能,还创新性地引入了缘分匹…...

Go语言的文件操作

Go语言的文件操作 Go语言是一种开源的编程语言,由谷歌开发,具有简单、高效和并发的特点。在日常开发中,文件操作是一个非常重要且常见的任务。从读取配置文件到写入日志文件,从处理数据到存储结果,文件操作无处不在。…...

php审计1-extract函数变量覆盖

php审计1-extract函数变量覆盖 这是一个关于php审计的栏目&#xff0c;本人也是初学者&#xff0c;分享一下网上的关于php审计的一些知识&#xff0c;学习一下php的语法&#xff0c;顺便记录一下学习过程。 以下是一个关于php审计ctf题 <?php$flagflag.txt; extract($_…...

百度热力图数据原理,处理及论文应用7

目录 0、数据简介0、示例数据1、百度热力图数据日期如何选择1.1、其他实验数据的时间1.2、看日历1.3、看天气 2、百度热力图几天够研究&#xff1f;部分文章统计3、数据原理3.1.1 ** 这个比较重要&#xff0c;后面还会再次出现。核密度的值怎么理解&#xff1f;**3.1.2 Csv->…...

端口镜像和端口安全

✍作者&#xff1a;柒烨带你飞 &#x1f4aa;格言&#xff1a;生活的情况越艰难&#xff0c;我越感到自己更坚强&#xff1b;我这个人走得很慢&#xff0c;但我从不后退。 &#x1f4dc;系列专栏&#xff1a;网络安全从菜鸟到飞鸟的逆袭 目录 一&#xff0c;端口镜像二&#xf…...

React Native 导航系统实战(React Navigation)

导航系统实战&#xff08;React Navigation&#xff09; React Navigation 是 React Native 应用中最常用的导航库之一&#xff0c;它提供了多种导航模式&#xff0c;如堆栈导航&#xff08;Stack Navigator&#xff09;、标签导航&#xff08;Tab Navigator&#xff09;和抽屉…...

定时器任务——若依源码分析

分析util包下面的工具类schedule utils&#xff1a; ScheduleUtils 是若依中用于与 Quartz 框架交互的工具类&#xff0c;封装了定时任务的 创建、更新、暂停、删除等核心逻辑。 createScheduleJob createScheduleJob 用于将任务注册到 Quartz&#xff0c;先构建任务的 JobD…...

相机从app启动流程

一、流程框架图 二、具体流程分析 1、得到cameralist和对应的静态信息 目录如下: 重点代码分析: 启动相机前,先要通过getCameraIdList获取camera的个数以及id,然后可以通过getCameraCharacteristics获取对应id camera的capabilities(静态信息)进行一些openCamera前的…...

linux 下常用变更-8

1、删除普通用户 查询用户初始UID和GIDls -l /home/ ###家目录中查看UID cat /etc/group ###此文件查看GID删除用户1.编辑文件 /etc/passwd 找到对应的行&#xff0c;YW343:x:0:0::/home/YW343:/bin/bash 2.将标红的位置修改为用户对应初始UID和GID&#xff1a; YW3…...

图表类系列各种样式PPT模版分享

图标图表系列PPT模版&#xff0c;柱状图PPT模版&#xff0c;线状图PPT模版&#xff0c;折线图PPT模版&#xff0c;饼状图PPT模版&#xff0c;雷达图PPT模版&#xff0c;树状图PPT模版 图表类系列各种样式PPT模版分享&#xff1a;图表系列PPT模板https://pan.quark.cn/s/20d40aa…...

使用 Streamlit 构建支持主流大模型与 Ollama 的轻量级统一平台

🎯 使用 Streamlit 构建支持主流大模型与 Ollama 的轻量级统一平台 📌 项目背景 随着大语言模型(LLM)的广泛应用,开发者常面临多个挑战: 各大模型(OpenAI、Claude、Gemini、Ollama)接口风格不统一;缺乏一个统一平台进行模型调用与测试;本地模型 Ollama 的集成与前…...

适应性Java用于现代 API:REST、GraphQL 和事件驱动

在快速发展的软件开发领域&#xff0c;REST、GraphQL 和事件驱动架构等新的 API 标准对于构建可扩展、高效的系统至关重要。Java 在现代 API 方面以其在企业应用中的稳定性而闻名&#xff0c;不断适应这些现代范式的需求。随着不断发展的生态系统&#xff0c;Java 在现代 API 方…...

【Linux】Linux安装并配置RabbitMQ

目录 1. 安装 Erlang 2. 安装 RabbitMQ 2.1.添加 RabbitMQ 仓库 2.2.安装 RabbitMQ 3.配置 3.1.启动和管理服务 4. 访问管理界面 5.安装问题 6.修改密码 7.修改端口 7.1.找到文件 7.2.修改文件 1. 安装 Erlang 由于 RabbitMQ 是用 Erlang 编写的&#xff0c;需要先安…...

解析“道作为序位生成器”的核心原理

解析“道作为序位生成器”的核心原理 以下完整展开道函数的零点调控机制&#xff0c;重点解析"道作为序位生成器"的核心原理与实现框架&#xff1a; 一、道函数的零点调控机制 1. 道作为序位生成器 道在认知坐标系$(x_{\text{物}}, y_{\text{意}}, z_{\text{文}}…...

【1】跨越技术栈鸿沟:字节跳动开源TRAE AI编程IDE的实战体验

2024年初&#xff0c;人工智能编程工具领域发生了一次静默的变革。当字节跳动宣布退出其TRAE项目&#xff08;一款融合大型语言模型能力的云端AI编程IDE&#xff09;时&#xff0c;技术社区曾短暂叹息。然而这一退场并非终点——通过开源社区的接力&#xff0c;TRAE在WayToAGI等…...