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.运行效果

 

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Springboot+FastJson实现解析第三方http接口json数据为实体类(时间格式化转换、字段包含中文)

场景 若依前后端分离版手把手教你本地搭建环境并运行项目: 若依前后端分离版手把手教你本地搭建环境并运行项目_前后端分离项目本地运行-CSDN博客 在上面搭建SpringBoot项目的基础上,并且在项目中引入fastjson、hutool、lombok等所需依赖后。 系统需…

【数据结构第 6 章 ②】- 图的存储结构(详解邻接矩阵)- 用 C 语言实现

目录 一、邻接矩阵表示法 二、AMGraph.h 三、AMGraph.c 四、Test.c 【数据结构第 6 章 ① 】- 图的定义和基本术语-CSDN博客 由于图的结构比较复杂,任意两个顶点之间都可能存在联系,因此无法以数据元素在存储区中的物理位置来表示元素之间的关系&…

KUKA机器人在编程时添加需要等待的输入信号的2种方法

KUKA机器人在编程时添加需要等待的输入信号的2种方法 第一种方法:手动输入法 如下图所示,选中某个程序后,点击下方的“打开”, 如下图所示,将光标定位到所需位置,然后按下左上角的“编辑”按钮,此时示教器上会弹出输入键盘, 如下图所示,在键盘上手动输入语句:wait fo…

mysql支持的整数类型、各类型整数能够表示的数值范围

MySQL :: MySQL 8.2 Reference Manual :: 11.1.2 Integer Types (Exact Value) - INTEGER, INT, SMALLINT, TINYINT, MEDIUMINT, BIGINT mysql支持的整数有:TINYINT、SMALLINT、MEDIUMINT、INT(INT和INTEGER是同义词)、BIGINT,各…

小黑子——springBoot基础

springBoot简单学习 一、SpringBoot简介1.1 springBoot快速入门1.1.1 开发步骤1.1.2 对比1.1.3 官网构建工程1.1.3 SpringBoot工程快速启动 1.2 springBoot概述1.2.1 起步依赖I. 探索父工程II. 探索依赖III. 小结 1.2.2 程序启动1.2.3 切换web服务器-jetty 二、配置文件2.1 配置…

智能优化算法应用:基于指数分布算法无线传感器网络(WSN)覆盖优化 - 附代码

智能优化算法应用:基于指数分布算法无线传感器网络(WSN)覆盖优化 - 附代码 文章目录 智能优化算法应用:基于指数分布算法无线传感器网络(WSN)覆盖优化 - 附代码1.无线传感网络节点模型2.覆盖数学模型及分析3.指数分布算法4.实验参数设定5.算法结果6.参考…

【博客园美化】博客园简单动态背景美化(css个人现写的,不喜勿喷)

效果如图(背景是动态的) 效果参见: 浅吟清风 的博客园 1、前置操作 1、有一个博客园账号; 2、 登陆博客园,进入设置; 3、 选择“博客设置”-> “博客侧边栏公告”-> 申请JS权限(图片展…

js写旋转的时钟动态

目录 1、css代码 2.html代码 3.js代码 1、css代码 .box {position: relative;width: 600px;height: 600px;background: url(./images/clock.jpg) no-repeat center;}.hour,.minute,.second {position: absolute;left: 0;top: 0;width: 100%;height: 100%;}.hour {background…

24、pytest通过xfail将测试函数标记为预期失败

官方实例 # content of test_xfail.py import pytest import syspytest.mark.xfail def test_function():print("test_function was invoked.")def valid_config():return Falsedef test_function_02():if not valid_config():pytest.xfail("failing configura…

素材创作平台,解决企业素材供给问题

企业对于高质量素材的需求日益增长。无论是为了提升品牌形象,还是为了推动产品销售,都需要大量的专业设计素材。然而,素材的获取、设计和定制往往是一项耗时耗力的工作。这时,美摄科技素材创作平台应运而生,为企业提供…

387.字符串中的第一个唯一字符 —> `size()`

解答&#xff1a; int firstUniqChar(string s) {int size s.size();// char count[26] { 0 };// error.1int count[26] { 0 };// for (int i 0; i < s.size() - 1; i) // error.2for (int i 0; i < size; i){count[s[i] - a] 1;}for (int i 0; i < size; i){…

J.408之数据结构

J-408之数据结构_北京信息科技大学第十五届程序设计竞赛&#xff08;同步赛&#xff09; (nowcoder.com) 思维好题&#xff0c;直接用两个set存没出现的数字就好了 // Problem: 408之数据结构 // Contest: NowCoder // URL: https://ac.nowcoder.com/acm/contest/68572/J // Me…

运筹说 第105期 | 算法介绍之非线性规划

本期我们进行运筹学之非线性规划算法的讲解&#xff0c;我们将对非线性规划的基础知识进行一个简单的回顾&#xff0c;并介绍求解无约束极值问题和约束极值问题的MATLAB和Python相关代码&#xff0c;以帮助大家利用工具快速求解无约束极值问题和约束极值问题&#xff0c;做到事…

BGP综合

1、使用PreVal策略&#xff0c;确保R4通过R2到达192.168.10.0/24。 2、使用AS_Path策略&#xff0c;确保R4迪过R3到达192.168.11.0/24。 3、配置MED策略&#xff0c;确保R4通过R3到达192.168.12.0/24。 4、使用Local Preference策略&#xff0c;确保R1通过R2到达192.168.1.0…

Nacos注册中心客户端容灾

目前Nacos客户端有一个FailoverReactor来进行容灾文件的管理&#xff0c;可以通过在指定磁盘文件里写入容灾数据来进行客户端使用数据的覆盖。FailoverReactor目前会拦截Nacos客户端查询接口调用&#xff0c;以getAllInstances接口为例&#xff0c;目前FailoverReactor的工作流…

【Linux】浅谈信号量

文章目录 一、共享内存的弊端新概念引入 二、理解信号量原子性 tips&#xff1a;system V 是一套标准&#xff0c;共享内存&#xff0c;信号量&#xff0c;消息队列属于system V。 一、共享内存的弊端 进程A和进程B进行通信时&#xff0c;假如进程A向物理内存的共享区写入&quo…

深入浅出:HTTPS单向与双向认证及证书解析20231208

介绍: 网络安全的核心之一是了解和实施HTTPS认证。本文将探讨HTTPS单向认证和双向认证的区别&#xff0c;以及SSL证书和CA证书在这些过程中的作用&#xff0c;并通过Nginx配置实例具体说明。 第一部分&#xff1a;HTTPS单向认证 定义及工作原理&#xff1a;HTTPS单向认证是一…

前端:HTML+CSS+JavaScript实现轮播图2

前端&#xff1a;HTMLCSSJavaScript实现轮播图2 1. 和之前版本的区别2. 实现原理3. 针对上述的改进3. 参考代码 1. 和之前版本的区别 之前发布的那篇关于轮播图的文章在这&#xff1a;前端&#xff1a;HTMLCSSJavaScript实现轮播图&#xff0c;只能说存在问题吧&#xff01;比…

Redis KEY*模糊查询导致速度慢、阻塞其他 Redis 操作

Redis KEY*模糊查询导致交互速度慢、阻塞其他 Redis 操作 查询速度慢的原因 在Redis中&#xff0c;使用通配符 KEYS 命令进行键的模糊匹配&#xff08;比如 KEYS key*&#xff09;可能会导致性能问题&#xff0c;尤其是在数据集较大时。这是因为 KEYS 命令的实现需要遍历所有…

输入/输出控制详解(块、字符设备?程序控制?中断、DMA又是啥?)

输入/输出&#xff08;I/O&#xff09; 输入/输出&#xff08;I/O&#xff09;控制是计算机系统中的一个关键概念&#xff0c;涉及到计算机与外部设备之间的数据传输。计算机系统通过输入设备接收用户输入&#xff0c;通过输出设备向用户显示结果。输入/输出控制包括管理和协调…