Python猜数小游戏
Python 实现的《猜数游戏》
介绍
本文将展示如何使用 Python 编写一个简单的《猜数游戏》。这个游戏将会生成一个1到10之间的随机数,用户有最多三次机会来猜测正确的数字。如果用户猜对了,游戏将结束并显示恭喜信息;如果没有猜对,则会提示剩余机会,直到次数用完为止。
游戏规则
- 系统每次会生成一个1-10之间的随机数。
- 每次游戏最多只能猜三次。
- 输入
yes或y进入游戏。 - 输入
no或n可以退出游戏。
游戏流程将会在控制台中进行,玩家通过键盘输入来进行操作。
游戏代码实现
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
代码解析
-
游戏规则展示:通过
print()函数展示了游戏的基本规则。 -
游戏开始:当用户输入
yes或y时,程序会进入游戏循环。此时程序开始处理用户的输入和猜测的逻辑。 -
随机数字生成:每次进入游戏时,使用
random.randint(1, 10)随机生成一个 1 到 10 之间的数字。这个数字是用户需要猜测的目标。 -
用户输入:用户需要输入猜测的数字。如果输入的数字不正确,程序会提示剩余机会,并继续等待用户的猜测。
-
结束条件:
- 当用户猜对了数字时,程序会显示“恭喜您猜对了!”并结束游戏。
- 如果用户的猜测次数达到 3 次并且没有猜对,则显示“很遗憾,您未猜中!”并结束游戏。
代码中的小细节
-
n变量的使用:该变量记录了用户的猜测次数。每次猜测后,程序会判断是否已达到最大尝试次数。 -
退出游戏:如果用户输入
no或n,游戏会退出。此时程序会提前结束游戏循环。 -
错误输入处理:当用户输入的数字与系统生成的随机数字不匹配时,程序会提示剩余的机会次数。该机制防止了用户输入错误后未得到反馈。
-
输入验证:程序只处理数字输入,且输入不符合预期时会直接继续游戏。可以进一步扩展验证用户输入为数字。
总结
这款简单的《猜数游戏》实现了一个基础的猜数逻辑,并包含了用户输入验证、随机数生成、次数限制等功能。通过这个示例,你可以更好地理解 Python 中的一些基础概念,如循环、条件判断、输入输出以及模块的使用。
改进建议:
- 输入验证:当前代码没有对用户输入进行严格验证,例如用户可能输入非数字的字符。可以使用
try-except来捕获这种情况,并提示用户重新输入有效的数字。 - 功能扩展:游戏可以支持更多的自定义功能,例如玩家可以设置猜测次数、选择数字的范围,或者增加提示信息(例如猜的数字是偏大还是偏小)。
- 用户体验:程序可以加入更多的提示和引导信息,增强用户的互动体验。
- 我的改进版: Python 猜数游戏:代码改进与解析
希望你喜欢这个小游戏,快来试试吧!
相关文章:
Python猜数小游戏
Python 实现的《猜数游戏》 介绍 本文将展示如何使用 Python 编写一个简单的《猜数游戏》。这个游戏将会生成一个1到10之间的随机数,用户有最多三次机会来猜测正确的数字。如果用户猜对了,游戏将结束并显示恭喜信息;如果没有猜对࿰…...
--- 用java实现一个计时器 ---
这里的计时器值得是当线程设定的时间过了之后,自动执行该线程的工作 设计 MyTimer 既然是要在指定的时间之后执行任务,那么传入的参数就应该有run方法(需要执行的任务),time(在多少时间之后执行ÿ…...
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审计的栏目,本人也是初学者,分享一下网上的关于php审计的一些知识,学习一下php的语法,顺便记录一下学习过程。 以下是一个关于php审计ctf题 <?php$flagflag.txt; extract($_…...
百度热力图数据原理,处理及论文应用7
目录 0、数据简介0、示例数据1、百度热力图数据日期如何选择1.1、其他实验数据的时间1.2、看日历1.3、看天气 2、百度热力图几天够研究?部分文章统计3、数据原理3.1.1 ** 这个比较重要,后面还会再次出现。核密度的值怎么理解?**3.1.2 Csv->…...
端口镜像和端口安全
✍作者:柒烨带你飞 💪格言:生活的情况越艰难,我越感到自己更坚强;我这个人走得很慢,但我从不后退。 📜系列专栏:网络安全从菜鸟到飞鸟的逆袭 目录 一,端口镜像二…...
Unity3D中Gfx.WaitForPresent优化方案
前言 在Unity中,Gfx.WaitForPresent占用CPU过高通常表示主线程在等待GPU完成渲染(即CPU被阻塞),这表明存在GPU瓶颈或垂直同步/帧率设置问题。以下是系统的优化方案: 对惹,这里有一个游戏开发交流小组&…...
centos 7 部署awstats 网站访问检测
一、基础环境准备(两种安装方式都要做) bash # 安装必要依赖 yum install -y httpd perl mod_perl perl-Time-HiRes perl-DateTime systemctl enable httpd # 设置 Apache 开机自启 systemctl start httpd # 启动 Apache二、安装 AWStats࿰…...
学校招生小程序源码介绍
基于ThinkPHPFastAdminUniApp开发的学校招生小程序源码,专为学校招生场景量身打造,功能实用且操作便捷。 从技术架构来看,ThinkPHP提供稳定可靠的后台服务,FastAdmin加速开发流程,UniApp则保障小程序在多端有良好的兼…...
12.找到字符串中所有字母异位词
🧠 题目解析 题目描述: 给定两个字符串 s 和 p,找出 s 中所有 p 的字母异位词的起始索引。 返回的答案以数组形式表示。 字母异位词定义: 若两个字符串包含的字符种类和出现次数完全相同,顺序无所谓,则互为…...
鱼香ros docker配置镜像报错:https://registry-1.docker.io/v2/
使用鱼香ros一件安装docker时的https://registry-1.docker.io/v2/问题 一键安装指令 wget http://fishros.com/install -O fishros && . fishros出现问题:docker pull 失败 网络不同,需要使用镜像源 按照如下步骤操作 sudo vi /etc/docker/dae…...
R语言速释制剂QBD解决方案之三
本文是《Quality by Design for ANDAs: An Example for Immediate-Release Dosage Forms》第一个处方的R语言解决方案。 第一个处方研究评估原料药粒径分布、MCC/Lactose比例、崩解剂用量对制剂CQAs的影响。 第二处方研究用于理解颗粒外加硬脂酸镁和滑石粉对片剂质量和可生产…...
基于单片机的宠物屋智能系统设计与实现(论文+源码)
本设计基于单片机的宠物屋智能系统核心是实现对宠物生活环境及状态的智能管理。系统以单片机为中枢,连接红外测温传感器,可实时精准捕捉宠物体温变化,以便及时发现健康异常;水位检测传感器时刻监测饮用水余量,防止宠物…...
Android屏幕刷新率与FPS(Frames Per Second) 120hz
Android屏幕刷新率与FPS(Frames Per Second) 120hz 屏幕刷新率是屏幕每秒钟刷新显示内容的次数,单位是赫兹(Hz)。 60Hz 屏幕:每秒刷新 60 次,每次刷新间隔约 16.67ms 90Hz 屏幕:每秒刷新 90 次,…...
VSCode 使用CMake 构建 Qt 5 窗口程序
首先,目录结构如下图: 运行效果: cmake -B build cmake --build build 运行: windeployqt.exe F:\testQt5\build\Debug\app.exe main.cpp #include "mainwindow.h"#include <QAppli...
云原生时代的系统设计:架构转型的战略支点
📝个人主页🌹:一ge科研小菜鸡-CSDN博客 🌹🌹期待您的关注 🌹🌹 一、云原生的崛起:技术趋势与现实需求的交汇 随着企业业务的互联网化、全球化、智能化持续加深,传统的 I…...
