Python-猜数字游戏

🎈 博主:一只程序猿子

🎈 博客主页:一只程序猿子 博客主页

🎈 个人介绍:爱好(bushi)编程!

🎈 创作不易:喜欢的话麻烦您点个👍和

🎈 欢迎访问我的主页(点我直达)

🎈 除此之外您还可以通过个人名片联系我 👉👉👉👉👉👉

                              

如果您喜欢我的文章且富有,我说:公主 or 王子 请打赏!!!

额滴名片儿
求打赏🥺

目录

1.介绍

2.知识点

(1)判断语句

(2)循环语句

3.源码

4.运行效果


1.介绍

        猜数字游戏是一种古老的益智游戏,玩家需要猜测对方的数字序列,根据对方给出的提示来判断数字的正确性和位置。本文将介绍如何使用Python实现一个简单的猜数字游戏!

2.知识点

(1)判断语句

if 判断条件1:符合判断条件1则执行这里面的代码块
elif 判断条件2:如果不符合判断条件1且符合判断条件2则执行这里面的代码块
# 可以根据情况添加多个elif
else:以上的判断条件都不符合则执行这里的代码块

(2)循环语句

while(循环条件):当满足循环条件时执行这里的代码块

注意: 

在while循环中,条件表达式的值会不断地被检查,直到它变为False为止。如果条件表达式的值一直为True,则代码块会一直被执行,直到遇到break语句或程序异常终止。

使用while循环时需要注意以下几点:

  1. 确保条件表达式的值在某个时刻变为False,否则循环将一直执行下去,导致程序死循环。
  2. 在循环体内需要使用变量来记录状态或控制循环次数,否则可能导致无限循环。
  3. 在循环体内需要注意变量的作用域,如果变量在循环体内被定义,则需要使用global或nonlocal语句来声明它是全局变量或外部变量的引用。
  4. 在循环中需要适当地使用break和continue语句来控制循环的流程和终止条件。

3.源码

'''
这是一个简单的猜数字游戏
猜数字游戏:一种古老的益智游戏,玩家需要猜测对方的数字序列,根据对方给出的提示来判断数字的正确性和位置。
'''
# 引入 random 模块,用于生成随机数
import random# 定义一个名为 BullsAndCows 的类,此类将实现猜数字游戏的主要逻辑
class BullsAndCows(object):# 初始化方法,当创建 BullsAndCows 类的实例时自动执行def __init__(self):# 打印游戏开始的提示信息,使用 "*" 字符来美化输出print("*" * 20 + "猜数字游戏" + "*" * 20 + "\n")# 在 0 到 100 之间生成一个随机数作为需要被猜测的数字self.number = random.randint(0, 101)# 定义一个 bulls_and_cows 方法,用于实现猜数字游戏的主体逻辑def bulls_and_cows(self):# 设置玩家有 10 次猜测机会chance = 10# 当玩家还有机会猜测时,执行循环while (chance > 0):try:# 提示玩家输入他们猜测的数字,并尝试将其转换为整数player_num = int(input("请输入您猜的数字: "))# 如果玩家输入的不是一个整数,抛出 ValueError 异常并给出提示信息except ValueError as e:print(f"请输入0-100的整数,而不是其他字符!")# 如果玩家输入不合法,立即跳过本次循环中剩余的代码,回到循环的开始处并执行下一次循环continue# 每猜一次,机会减少一次chance -= 1# 如果玩家猜的数字大于正确数字,提示玩家数字太大if player_num > self.number:print(f"您猜的数字太大了!!!")# 如果玩家猜对了数字,结束游戏并给出正确答案和玩家的猜测次数elif player_num == self.number:print(f"正确答案:{self.number} 恭喜您猜对了!!!! 共猜了 {10 - chance} 次!")break# 如果玩家猜的数字小于正确数字,提示玩家数字太小else:print(f"您猜的数字太小了!!!")# 当玩家还有最后一次机会时,给出提示信息if chance == 1:print("注意! 您只有最后一次机会了!!!\n")# 当玩家猜测次数用完时,结束游戏并给出正确答案elif chance == 0:print(f"游戏结束!!!,很遗憾您失败了,正确答案: {self.number}\n")# 当玩家还有多次机会时,给出提示信息else:print(f"你还有 {chance} 次机会!加油!\n")# 游戏结束后打印游戏结束的提示信息,使用 "*" 字符来美化输出print("\n" + "*" * 20 + "游戏已结束" + "*" * 20)

贴心的小猿子已为代码逐行添加注释! 

4.运行效果

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/207633.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

免费的AI改写文案软件,热门AI改写文案软件【2024】

在数字化时代,文案创作变得更为便捷,其中AI改写文案软件的兴起为写作者们带来了全新的创作体验。这些工具通过智能算法和自然语言处理技术,能够快速改写文本,提高创作效率。本文将深入探讨AI改写文案软件的现状,介绍一…

LeetCode题:174. 地下城游戏

目录 一、题目要求 二、解题思路 (1)状态表示 (2)状态转移方程 (3)初始化dp表 (4)填表顺序 (5)返回值 三、代码 一、题目要求 174. 地下城游戏 恶魔们…

swagger入门

swagger入门 pom依赖 不用专门导入swagger 因为springboot已经将它集成了 org.springframework.boot spring-boot-starter com.github.xiaoymin knife4j-spring-boot-starter Swagger配置类 Configuration public class SwaggerConfig { // 创建并配置Docket Bean&#xf…

snakeyaml编辑yaml文件并覆盖注释

文章目录 前言技术积累实战演示1、引入maven依赖2、覆盖注释工具类3、snakeyaml工具类4、测试用例5、测试效果展示 写在最后 前言 最近在做一个动态整合框架的项目,需要根据需求动态组装各个功能模块。其中就涉及到了在application.yaml中加入其他模块的配置&#…

TCP传输层详解(计算机网络复习)

介绍:TCP/IP包含了一系列的协议,也叫TCP/IP协议族,简称TCP/IP。该协议族提供了点对点的连接机制,并将传输数据帧的封装、寻址、传输、路由以及接收方式都予以标准化 TCP/IP的分层模型 在讲TCP/IP协议之前,首先介绍一…

广州数字孪生赋能工业制造,加速推进制造业数字化转型

广州数字孪生赋能工业制造,加速推进制造业数字化转型。数字孪生系统基于历史数据、实时数据,采用人工智能、大数据分析等新一代信息技术对物理实体的组成、特征、功能和性能进行数字化定义和建模。通过构建在信息世界对物理实体的等价映射,对…

Axure官方软件安装、汉化保姆级教程(带官方资源下载)

1.下载汉化包 百度云链接:https://pan.baidu.com/s/1lluobjjBZvitASMt8e0A_w?pwdjqxn 提取码: jqxn 2.解压压缩包 3.安装Axure 进行安装 点击next 打勾,然后next, 默认是c盘,修改成自己的文件夹(不要什么都放c盘里…

API测试基础之http协议

http简介: http(超文本传输协议)是一个简单的请求-响应协议,它通常运行在TCP(传输控制协议)之上。它指定了客户端可能发送给服务器什么样的消息以及得到什么样的响应。请求和响应消息的头以ASCII码形式给出…

远程控制如何赋能智能制造?贝锐向日葵制造业场景案例解析

随着数字化转型在制造业的不断深入,企业在产线端也逐渐投入更多智能化设备,数字化、智能化设备其中一个比较显著的优势就是可以依托互联网实现远程运维和调试,大大提升产线设备的稳定性和工作效率;而远程调试运维一个重要的实现方…

人工智能原理复习--搜索策略(一)

文章目录 上一篇搜索概述一般图搜索盲目搜索下一篇 上一篇 人工智能原理复习–确定性推理 搜索概述 问题求解分为两大类:知识贫乏系统(依靠搜索技术解决)、知识丰富系统(依靠推理技术) 两大类搜索技术: …

海思3516DV500下的目标识别算法运行评估,包含yolov7,yolov8

目前在3516DV500下,自己训练的模型的评估实测结果。根据实际模型会有些许差异。 涉及到技术细节的部分因为商业用途,有部分省略。如需相关技术服务项目合作可私信联系。 我司推出的目标识别跟踪模块,支持热红外、可见光主流多光谱视频输入与目…

WeiPHP 微信开发平台 SQL注入漏洞复现

0x01 产品简介 weiphp 是一个开源,高效,简洁的微信开发平台,基于 oneThink 内容管理框架实现。 0x02 漏洞概述 weiphp 微信开发平台 _send_by_group、 wp_where、 get_package_template等接口处存在 SQL 注入漏洞,攻击者利用此漏洞可获取数据库中的信息(例如,管理员后台…

三数组最小距离:2020年408算法题

算法思想 算法实现 #define INT_MAX 0x7fffffff //c语言int类型最大值 //计算绝对值 int abs(int a){if(a<0) return -a;else return a; } //判断a是否为3个数中最小值 bool isMin(int a,int b,int c){if(a<b&&a<c) return true;return false; }//主函数 in…

平台工程文化:软件开发的创新路径和协作之道

在快速发展的软件开发领域&#xff0c;具有前瞻性思维的企业组织正在拥抱平台工程文化的变革力量。这种创新方法强调创建共享平台、工具和实践&#xff0c;使开发人员能够更快、更高效地交付高质量的软件。在本文中&#xff0c;我们将深入探讨平台工程文化的核心原则和深远的好…

C语言期末考试复习PTA数据类型及表达式-分支结构程序-循环结构-数组经典选择题

目录 第一章&#xff1a;C语言数据类型和表达式 第一题&#xff1a; 第二题&#xff1a; 第三题&#xff1a; 第四题&#xff1a; 第五题&#xff1a; 第六题&#xff1a; 第七题&#xff1a; 第八题&#xff1a; 第九题&#xff1a; 第二章&#xff1a;分支结构程序…

打包 抖音直播云游戏

抖音直播云游戏 oaid资源中的bcpkix-jdk15to18-1.68.jar与抖音云游戏的资源冲突。 其实资源名称是一样的&#xff0c;拷贝时资源名称有变化。 为解决此问题&#xff0c;需要规范化文件的资源名称&#xff0c;将.置为_ Error: Command failed: cmd /c echo off && Chc…

NoSuchColumnFamilyException: org.apache.hadoop.hbase.regionserv

问题 在IDEA运行HBASE脚本时出现如下报错&#xff1a; org.apache.hadoop.hbase.regionserver.NoSuchColumnFamilyException: org.apache.hadoop.hbase.regionserver.NoSuchColumnFamilyException: Column family table does not exist in region hbase:meta,,1.1588230740 i…

Java多线程并发(二)

四种线程池 Java 里面线程池的顶级接口是 Executor&#xff0c;但是严格意义上讲 Executor 并不是一个线程池&#xff0c;而只是一个执行线程的工具。真正的线程池接口是 ExecutorService。 newCachedThreadPool 创建一个可根据需要创建新线程的线程池&#xff0c;但是在以前…

深入了解数据库锁:类型、应用和最佳实践

目录 1. 引言 2. 数据库锁的基本概念 2.1 悲观锁和乐观锁 2.2 排他锁和共享锁 3. 悲观锁的应用场景 3.1 长事务和大事务 3.2 并发修改 3.3 数据库死锁 4. 悲观锁的最佳实践 4.1 精细控制锁的粒度 4.2 避免死锁 4.3 考虑乐观锁 5. 案例分析 5.1 银行系统的转账操作…

【GEE笔记】随机森林特征重要性计算并排序

随机森林是一种基于多个决策树的集成学习方法&#xff0c;可以用于分类和回归问题。在gee中可以使用ee.Classifier.smileRandomForest()函数来创建一个随机森林分类器&#xff0c;并用它来对影像进行分类。 随机森林分类器有一个重要的属性&#xff0c;就是可以计算每个特征&a…