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 10 Python
python如何实现远程控制电脑(结合微信)
Dec 21 Python
Python的Flask框架及Nginx实现静态文件访问限制功能
Jun 27 Python
python executemany的使用及注意事项
Mar 13 Python
如何使用Python 打印各种三角形
Jun 28 Python
python multiprocessing模块用法及原理介绍
Aug 20 Python
tensorflow 限制显存大小的实现
Feb 03 Python
tensorflow对图像进行拼接的例子
Feb 05 Python
pandas实现excel中的数据透视表和Vlookup函数功能代码
Feb 14 Python
Python操作MongoDb数据库流程详解
Mar 05 Python
详解pandas中iloc, loc和ix的区别和联系
Mar 09 Python
浅谈Python3中print函数的换行
Aug 05 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
如何开始收听短波广播
2021/03/01 无线电
让你的PHP同时支持GIF、png、JPEG
2006/10/09 PHP
php array_pop()数组函数将数组最后一个单元弹出(出栈)
2011/07/12 PHP
自己在做项目过程中学到的PHP知识收集
2012/08/20 PHP
thinkphp的CURD和查询方式介绍
2013/12/19 PHP
ThinkPHP3.1新特性之内容解析输出详解
2014/06/19 PHP
PHP表单验证内容是否为空的实现代码
2016/11/14 PHP
PHP连接MySQL数据库操作代码实例解析
2020/07/11 PHP
ThinkPHP 5 AJAX跨域请求头设置实现过程解析
2020/10/28 PHP
JS创建优美的页面滑动块效果 - Glider.js
2007/09/27 Javascript
msn上的tab功能Firefox对childNodes处理的一个BUG
2008/01/21 Javascript
地址栏上的一段语句,改变页面的风格。(教程)
2008/04/02 Javascript
关于innerHTML后丢失动态绑定的EVENT问题解决方法
2013/05/19 Javascript
js 能实现监听F5页面刷新子iframe 而父页面不刷新的方法
2016/11/09 Javascript
vue2.0实战之基础入门(1)
2017/03/27 Javascript
AngularJS页面带参跳转及参数解析操作示例
2017/06/28 Javascript
Node.js中,在cmd界面,进入退出Node.js运行环境的方法
2018/05/12 Javascript
Jquery ajax书写方法代码实例解析
2020/06/12 jQuery
Django实现图片文字同时提交的方法
2015/05/26 Python
Python字典中的键映射多个值的方法(列表或者集合)
2018/10/17 Python
python 调试冷知识(小结)
2019/11/11 Python
python 实现两个npy档案合并
2020/07/01 Python
如何验证python安装成功
2020/07/06 Python
使用python把xmind转换成excel测试用例的实现代码
2020/10/12 Python
html5 利用canvas手写签名并保存的实现方法
2018/07/12 HTML / CSS
百丽国际旗下购物网站:优购
2017/02/28 全球购物
Bibloo罗马尼亚网站:女装、男装、童装及鞋子和配饰
2019/07/20 全球购物
自荐信的两点禁忌
2013/10/30 职场文书
黄河象教学反思
2014/02/10 职场文书
八项规定整改方案
2014/02/21 职场文书
2014年党员学习“三严三实”思想汇报
2014/09/15 职场文书
2014乡镇党委副书记对照检查材料思想汇报
2014/10/09 职场文书
大学生村官驻村工作心得体会
2016/01/23 职场文书
《抽屉原理》教学反思
2016/02/20 职场文书
2016年第十四个公民道德宣传日活动总
2016/04/01 职场文书
Mysql binlog日志文件过大的解决
2021/10/05 MySQL