Python猜数小游戏

news/2025/1/17 21:26:09/

Python 实现的《猜数游戏》

介绍

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

游戏规则

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

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

游戏代码实现

python">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.ppmy.cn/news/1563973.html

相关文章

C++并发编程之异常安全性增强

在并发编程中,异常安全是一个非常重要的方面,因为并发环境下的错误处理比单线程环境更加复杂。当多个线程同时执行时,异常不仅可能影响当前线程,还可能影响其他线程和整个程序的稳定性。以下是一些增强并发程序异常安全性的方法&a…

redis性能优化参考——筑梦之路

基准性能测试 redis响应延迟耗时多长判定为慢? 比如机器硬件配置比较差,响应延迟10毫秒,就认为是慢,机器硬件配置比较高,响应延迟0.5毫秒,就认为是慢。这个没有固定的标准,只有了解了你的 Red…

DATACOM-防火墙-复习-实验

防火墙 概述配置实验参考 概述 与路由器对比 路由器防火墙功能寻址、流量转发、路由流量控制、安全区域隔离防护硬件-相较于路由器,多了SPU,用于DDoS攻击防范/匹配会话/状态检测/认证策略/安全策略/NAT 策略/内容安全带宽策略等 发展 安全区域 防火墙…

PlantUML流程图语法学习实践

前言 PlantUML流程图在软件开发中具有多种用途,使用PlantUML生成的UML图表可以帮助审查者更快地理解代码的结构和逻辑;在AI发展的大环境中,可以借助plantUML语法生成的伪代码形式利用promt直接生成开发代码。 一、PlantUML PlantUML 是一款非…

GitLab CI/CD使用runner实现自动化部署前端Vue2 后端.Net 7 Zr.Admin项目

1、查看gitlab版本 建议安装的runner版本和gitlab保持一致 2、查找runner 执行 yum list gitlab-runner --showduplicates | sort -r 找到符合gitlab版本的runner,我这里选择 14.9.1版本 如果执行出现找不到下载源,添加官方仓库 执行 curl -L &quo…

数据结构-顺序表及链表结构分析

文章目录 一、顺序表的插入&删除Ⅰ.顺序表的插入(增)1.1 顺序表的尾插1.2 顺序表的头插1.3 顺序表的指定位置插入 Ⅱ.顺序表的移除元素(删)2.1 顺序表的尾删2.2 顺序表的头删2.3 顺序表的指定位置删除 Ⅲ.顺序表数据的查找Ⅳ.顺序表的销毁 二、链表的插入(增)1.单链表的尾插…

HTTP:Nagle算法与TCP_NODELAY

背景:TCP 有一个数据流接口,应用程序可以通过它将任意尺寸的数据放入 TCP 栈中—— 即使一次只放一个字节也可以!但是,每个 TCP 段中都至少装载了 40 个字节的标记和首部,所以如果 TCP 发送了大量包含少量数据的分组,网…

【 MySQL学习1】简介

文章目录 一、一些概念1.1 什么是数据库1.2 数据库管理系统1.3 SQL1.4 三者之间的关系 二 安装MySQL数据库三、命令启动3.1 停止服务3.2 启动服务 一、一些概念 1.1 什么是数据库 英文单词DataBase, 简称DB。 按照一定格式存储数据的一些文件的组合。 存储数据的仓…