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引用(import)文件夹下的py文件的方法
Aug 26 Python
python人人网登录应用实例
Sep 26 Python
用Python实现协同过滤的教程
Apr 08 Python
在Python中使用next()方法操作文件的教程
May 24 Python
python实现在windows服务中新建进程的方法
Jun 30 Python
Flask框架Flask-Principal基本用法实例分析
Jul 23 Python
python数据批量写入ScrolledText的优化方法
Oct 11 Python
python 实现对文件夹中的图像连续重命名方法
Oct 25 Python
Python3 读取Word文件方式
Feb 13 Python
利用matplotlib为图片上添加触发事件进行交互
Apr 23 Python
Python数据相关系数矩阵和热力图轻松实现教程
Jun 16 Python
这样写python注释让代码更加的优雅
Jun 02 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
DedeCms模板安装/制作概述
2007/03/11 PHP
php str_replace的替换漏洞
2008/03/15 PHP
PHP根据IP判断地区名信息的示例代码
2014/03/03 PHP
PHP实现的日历功能示例
2018/09/01 PHP
JavaScript 基础问答三
2008/12/03 Javascript
jquery下将选择的checkbox的id组成字符串的方法
2010/11/28 Javascript
JS去除数组重复值的五种不同方法
2013/09/06 Javascript
浅析AngularJs HTTP响应拦截器
2015/12/28 Javascript
vue快捷键与基础指令详解
2017/06/01 Javascript
JS运动特效之链式运动分析
2018/01/24 Javascript
在 vue-cli v3.0 中使用 SCSS/SASS的方法
2018/06/14 Javascript
详解Vue基于vue-quill-editor富文本编辑器使用心得
2019/01/03 Javascript
jquery将json转为数据字典的实例代码
2019/10/11 jQuery
Vue的Eslint配置文件eslintrc.js说明与规则介绍
2020/02/03 Javascript
[43:32]Winstrike vs VGJ.S 2018国际邀请赛淘汰赛BO3 第一场 8.23
2018/08/24 DOTA
Python中的两个内置模块介绍
2015/04/05 Python
使用Python从有道词典网页获取单词翻译
2016/07/03 Python
python实现图片识别汽车功能
2018/11/30 Python
使用PIL(Python-Imaging)反转图像的颜色方法
2019/01/24 Python
django-rest-framework解析请求参数过程详解
2019/07/18 Python
Python实现的企业粉丝抽奖功能示例
2019/07/26 Python
Python 实现平台类游戏添加跳跃功能
2020/03/27 Python
python适合做数据挖掘吗
2020/06/16 Python
Python 如何实现数据库表结构同步
2020/09/29 Python
瑞典手机壳品牌:Richmond & Finch
2018/04/28 全球购物
美国领先的机场停车聚合商:Airport Parking Reservations
2020/02/28 全球购物
护士实习自我鉴定
2013/10/22 职场文书
大学生军训自我评价分享
2013/11/09 职场文书
团队精神演讲稿
2013/12/31 职场文书
证婚人经典证婚词
2014/01/09 职场文书
物理专业本科生自荐信
2014/01/30 职场文书
超市开业庆典活动策划方案
2014/09/15 职场文书
2015民办小学年度工作总结
2015/05/26 职场文书
大学生入党群众意见书
2015/06/02 职场文书
色戒观后感
2015/06/12 职场文书
新教师教学工作总结
2015/08/12 职场文书