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读取ini文件、操作mysql、发送邮件实例
Jan 01 Python
python友情链接检查方法
Jul 08 Python
Python Sql数据库增删改查操作简单封装
Apr 18 Python
python安装PIL模块时Unable to find vcvarsall.bat错误的解决方法
Sep 19 Python
Pycharm学习教程(5) Python快捷键相关设置
May 03 Python
Python实现识别图片内容的方法分析
Jul 11 Python
基于tensorflow加载部分层的方法
Jul 26 Python
pycharm debug功能实现跳到循环末尾的方法
Nov 29 Python
python实现手机销售管理系统
Mar 19 Python
深入了解python中元类的相关知识
Aug 29 Python
numpy.ndarray 实现对特定行或列取值
Dec 05 Python
pytorch程序异常后删除占用的显存操作
Jan 13 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配置文件中最常用四个ini函数
2007/03/19 PHP
CURL的学习和应用(附多线程实现)
2013/06/03 PHP
新浪SAE云平台下使用codeigniter的数据库配置
2014/06/12 PHP
Zend Framework教程之分发器Zend_Controller_Dispatcher用法详解
2016/03/07 PHP
今天你说520了吗?不仅有php表白书还有java表白神器
2016/05/20 PHP
PHP实现适用于文件内容操作的分页类
2016/06/15 PHP
Zend Framework前端控制器用法示例
2016/12/11 PHP
javascript fullscreen全屏实现代码
2009/04/09 Javascript
js里取容器大小、定位、距离等属性搜集整理
2013/08/19 Javascript
Javascript表格翻页效果的具体实现
2013/10/05 Javascript
tangram框架响应式加载图片方法
2013/11/21 Javascript
jquery prop的使用介绍及与attr的区别
2013/12/19 Javascript
jQuery实现响应浏览器缩放大小并改变背景颜色
2014/10/31 Javascript
js字符串截取函数slice、substring和substr的比较
2016/05/17 Javascript
Javascript中的对象和原型(二)
2016/08/12 Javascript
ajax接收后台数据在html页面显示
2017/02/19 Javascript
Ajax异步获取html数据中包含js方法无效的解决方法
2017/02/20 Javascript
JavaScript实现二分查找实例代码
2017/02/22 Javascript
nodejs中全局变量的实例解析
2017/03/07 NodeJs
bootstrap table表格客户端分页实例
2017/08/07 Javascript
彻底搞懂JavaScript中的apply和call方法(必看)
2017/09/18 Javascript
vue-router beforeEach跳转路由验证用户登录状态
2018/12/26 Javascript
vue-router之解决addRoutes使用遇到的坑
2020/07/19 Javascript
swiper4实现移动端导航栏tab滑动切换
2020/10/16 Javascript
Python中的包和模块实例
2014/11/22 Python
python判断windows系统是32位还是64位的方法
2015/05/11 Python
Python实现的堆排序算法示例
2018/04/29 Python
Python将8位的图片转为24位的图片实现方法
2018/10/24 Python
python3.6使用tkinter实现弹跳小球游戏
2019/05/09 Python
tensorflow获取预训练模型某层参数并赋值到当前网络指定层方式
2020/01/24 Python
Python-opencv实现红绿两色识别操作
2020/06/04 Python
CSS3 box-sizing属性
2009/04/17 HTML / CSS
css3进阶之less实现星空动画的示例代码
2019/09/10 HTML / CSS
寻找完美的房车租赁:RVShare
2019/02/23 全球购物
swtich是否能作用在byte上,是否能作用在long上,是否能作用在String上
2013/07/06 面试题
单位委托书范本(3篇)
2014/09/18 职场文书