python实现数字炸弹游戏程序


Posted in Python onJuly 17, 2020

相信许多小伙伴都玩过数字炸弹游戏,就是指在一定数字范围(一般是整数,不包含边界)里,一个玩家选中一个数字当作炸弹,其余玩家在这个范围猜数字,每次只要没猜中炸弹数字,则根据玩家猜的数字缩小范围,直至其中一个玩家猜中炸弹数字,游戏结束。

在这里,我们可以尝试用Python编程的思想来拆解游戏过程(纯属无聊),核心主要为以下两个问题:

(1)数字炸弹的产生

(2)如何缩小范围

第一个问题很简单,可以使用random模块随机生成,需要注意的是数字炸弹不包含边界,randint函数可以生成指定范围的整数,但包含边界,所以需要做一下处理。本人是采用循环的方法,将生成的不符合要求的数字炸弹过滤掉;第二个问题是更为核心的问题,不断缩小范围,我们容易想到用while循环,最后猜中数字break跳出循环,游戏结束。

import random
 
def user_num():
 num = int(input('请输入你的数字:\n'))
 return num
def max_num():
 max_num = int(input('请输入最高数字:\n'))
 return max_num
def min_num():
 min_num = int(input('请输入起始数字:\n'))
 return min_num
 
min_num,max_num = min_num(),max_num()
 
while True:
 res = random.randint(min_num,max_num)#res可能会包括两端数字,需剔除
 if res!=min_num and res!=max_num:
 break
f = [min_num,max_num]
#核心代码
def comp(a,b):
 if a>b:
 f[1] = a
 else:
 f[0] = a
 print('游戏继续,范围{}到{},请再次输入'.format(f[0],f[1]))
 
flag = 0
while True:
 num = user_num()
 if num not in range(f[0],f[1]):
 print('不在范围内,请重新输入')
 continue
 elif num!=res:
 comp(num,res)
 elif num==res:
 print("你猜中啦,游戏结束!")
 break
 flag += 1
print("你一共猜了%d次"%flag)

核心代码那里我定义了一个比较函数,用来更替范围的两端,这样就可实现缩小猜数范围。代码还可以继续完善,不过本人还是菜鸟,光想这个问题二就想了不少时间。

python实现数字炸弹游戏程序

更多有趣的经典小游戏实现专题,分享给大家:

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python基础教程之元组操作使用详解
Mar 25 Python
Django中模型Model添加JSON类型字段的方法
Jun 17 Python
Django项目中用JS实现加载子页面并传值的方法
May 28 Python
python 常见字符串与函数的用法详解
Nov 23 Python
使用TensorFlow实现简单线性回归模型
Jul 19 Python
python读取csv文件指定行的2种方法详解
Feb 13 Python
一文了解python 3 字符串格式化 F-string 用法
Mar 04 Python
python 安装impala包步骤
Mar 28 Python
python函数超时自动退出的实操方法
Dec 28 Python
如何在Python项目中引入日志
May 31 Python
Python机器学习实战之k-近邻算法的实现
Nov 27 Python
Python使用mitmproxy工具监控手机 下载手机小视频
Apr 18 Python
Matlab中plot基本用法的具体使用
Jul 17 #Python
python 基于卡方值分箱算法的实现示例
Jul 17 #Python
Python DES加密实现原理及实例解析
Jul 17 #Python
python获取系统内存占用信息的实例方法
Jul 17 #Python
树莓派4B安装Tensorflow的方法步骤
Jul 16 #Python
深入了解Python enumerate和zip
Jul 16 #Python
详细分析Python collections工具库
Jul 16 #Python
You might like
php通过baihui网API实现读取word文档并展示
2015/06/22 PHP
PHP实现的蚂蚁爬杆路径算法代码
2015/12/03 PHP
smarty循环嵌套用法示例分析
2016/07/19 PHP
JavaScript 对象链式操作测试代码
2010/04/25 Javascript
jquery获得option的值和对option进行操作
2013/12/13 Javascript
append和appendTo的区别以及appendChild用法
2013/12/24 Javascript
JavaScript的arguments对象应用示例
2014/09/15 Javascript
JS模拟Dialog弹出浮动框效果代码
2015/10/16 Javascript
微信小程序实时聊天WebSocket
2018/07/05 Javascript
[32:26]EG vs IG 2018国际邀请赛小组赛BO2 第一场 8.16
2018/08/17 DOTA
Python中用memcached来减少数据库查询次数的教程
2015/04/07 Python
Python+微信接口实现运维报警
2016/08/27 Python
利用Python-iGraph如何绘制贴吧/微博的好友关系图详解
2017/11/02 Python
Python实现图片裁剪的两种方式(Pillow和OpenCV)
2019/10/30 Python
Pytorch Tensor基本数学运算详解
2019/12/30 Python
python 爬虫基本使用——统计杭电oj题目正确率并排序
2020/10/26 Python
通过代码简单了解django model序列化作用
2020/11/12 Python
虚拟环境及venv和virtualenv的区别说明
2021/02/05 Python
Omio意大利:全欧洲低价大巴、火车和航班搜索和比价
2017/12/02 全球购物
阿迪达斯新加坡官方网站:adidas新加坡
2019/12/06 全球购物
数控技术专业推荐信
2013/11/01 职场文书
体育教育专业毕业生自荐信
2013/11/15 职场文书
大学生求职工作的自我评价
2014/02/13 职场文书
党员个人对照检查材料范文
2014/09/24 职场文书
党委书记群众路线对照检查材料思想汇报
2014/10/04 职场文书
房屋租房协议书范本
2014/12/04 职场文书
销售员自我评价
2015/03/11 职场文书
2015年司机工作总结
2015/04/23 职场文书
检讨书怎么写
2015/05/07 职场文书
工会文体活动总结
2015/05/07 职场文书
试用期转正工作总结2015
2015/05/28 职场文书
优质护理服务心得体会
2016/01/22 职场文书
CSS3常见动画的实现方式
2021/04/14 HTML / CSS
漫画「请问您今天要来点兔子吗?」最新杂志彩页公开
2022/03/24 日漫
Python爬虫网络请求之代理服务器和动态Cookies
2022/04/12 Python
python pandas 解析(读取、写入)CSV 文件的操作方法
2022/12/24 Python