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 27 Python
python实现百度语音识别api
Apr 10 Python
pandas DataFrame实现几列数据合并成为新的一列方法
Jun 08 Python
Python之修改图片像素值的方法
Jul 03 Python
python切片的步进、添加、连接简单操作示例
Jul 11 Python
Django的models模型的具体使用
Jul 15 Python
Django实现简单网页弹出警告代码
Nov 15 Python
关于windows下Tensorflow和pytorch安装教程
Feb 04 Python
Python中import导入不同目录的模块方法详解
Feb 18 Python
Python打印特殊符号及对应编码解析
May 07 Python
jupyter notebook 写代码自动补全的实现
Nov 02 Python
七个Python必备的GUI库
Apr 27 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 错误处理经验分享
2011/10/11 PHP
PHP实现采集中国天气网未来7天天气
2014/10/15 PHP
php中动态调用函数的方法
2015/03/16 PHP
PHP中empty和isset对于参数结构的判断及empty()和isset()的区别
2015/11/15 PHP
php+mysql查询实现无限下级分类树输出示例
2016/10/03 PHP
利用php做服务器和web前端的界面进行交互
2016/10/31 PHP
一个小型js框架myJSFrame附API使用帮助
2008/06/28 Javascript
使用jQuery Ajax功能时需要注意的一个问题(内存溢出)
2012/05/30 Javascript
JQuery操作tr和td内容的方法实例
2013/03/06 Javascript
去掉gridPanel表头全选框的小例子
2013/07/18 Javascript
node.js不得不说的12点内容
2014/07/14 Javascript
jQuery中:lt选择器用法实例
2014/12/29 Javascript
一篇文章搞定JavaScript类型转换(面试常见)
2017/01/21 Javascript
js实现旋转木马效果
2017/03/17 Javascript
微信小程序实现锚点定位楼层跳跃的实例
2017/05/18 Javascript
React操作真实DOM实现动态吸底部的示例
2017/10/23 Javascript
Vue项目全局配置微信分享思路详解
2018/05/04 Javascript
vue使用自定义icon图标的方法
2018/05/14 Javascript
详解Vscode中使用Eslint终极配置大全
2019/11/08 Javascript
js实现贪吃蛇游戏 canvas绘制地图
2020/09/09 Javascript
python之wxPython应用实例
2014/09/28 Python
浅谈Python单向链表的实现
2015/12/24 Python
windows上安装Anaconda和python的教程详解
2017/03/28 Python
Python 基础教程之闭包的使用方法
2017/09/29 Python
PyQt5实现类似别踩白块游戏
2019/01/24 Python
PyCharm 创建指定版本的 Django(超详图解教程)
2019/06/18 Python
Django在admin后台集成TinyMCE富文本编辑器的例子
2019/08/09 Python
python删除指定列或多列单个或多个内容实例
2020/06/28 Python
Python3.9.1中使用split()的处理方法(推荐)
2021/02/07 Python
夏洛特和乔治婴儿和儿童时装精品店:Charlotte and George
2018/06/06 全球购物
美国帽子俱乐部商店:Hat Club
2019/07/05 全球购物
员工安全生产责任书
2014/07/22 职场文书
管理工程专业求职信
2014/08/10 职场文书
测量员岗位职责
2015/02/14 职场文书
离职信范文
2015/06/23 职场文书
redis配置文件中常用配置详解
2021/04/14 Redis