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利用rsa库做公钥解密的方法教程
Dec 10 Python
详解python的ORM中Pony用法
Feb 09 Python
详解Django中间件的5种自定义方法
Jul 26 Python
Python2和Python3.6环境解决共存问题
Nov 09 Python
使用python实现男神女神颜值打分系统(推荐)
Oct 31 Python
Python 面向对象之封装、继承、多态操作实例分析
Nov 21 Python
python Jupyter运行时间实例过程解析
Dec 13 Python
PyCharm第一次安装及使用教程
Jan 08 Python
Python列表切片常用操作实例解析
Mar 10 Python
python实现对变位词的判断方法
Apr 05 Python
Python实现自动装机功能案例分析
Oct 22 Python
PyTorch的Debug指南
May 07 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/01/17 PHP
注意:php5.4删除了session_unregister函数
2013/08/05 PHP
不能再简单的无闪刷新验证码原理很简单
2007/11/05 Javascript
jquery 图片 上一张 下一张 链接效果(续篇)
2010/04/20 Javascript
jquery实现美观的导航菜单鼠标提示特效代码
2015/09/06 Javascript
jquery根据一个值来选中select下的option实例代码
2016/08/29 Javascript
Vue.js实现简单ToDoList 前期准备(一)
2016/12/01 Javascript
关于微信jssdk实现多图片上传的一点心得分享
2016/12/13 Javascript
jQuery获取Table某列的值(推荐)
2017/03/03 Javascript
vue element-ui table表格滚动加载方法
2018/03/02 Javascript
在vue里面设置全局变量或数据的方法
2018/03/09 Javascript
利用d3.js制作连线动画图与编辑器的方法实例
2019/09/05 Javascript
微信小程序实现弹框效果
2020/05/26 Javascript
[02:08]我的刀塔不可能这么可爱 胡晓桃_1
2014/06/20 DOTA
跟老齐学Python之Python安装
2014/09/12 Python
python 远程统计文件代码分享
2015/05/14 Python
python向已存在的excel中新增表,不覆盖原数据的实例
2018/05/02 Python
Python面向对象之类的定义与继承用法示例
2019/01/14 Python
详解Python在使用JSON时需要注意的编码问题
2019/12/06 Python
django中url映射规则和服务端响应顺序的实现
2020/04/02 Python
终于搞懂了Keras中multiloss的对应关系介绍
2020/06/22 Python
详解python变量与数据类型
2020/08/25 Python
英国鞋网:Rubber Sole
2020/03/03 全球购物
自我评价怎么写好呢?
2013/12/05 职场文书
省三好学生申请材料
2014/01/22 职场文书
网络工程师自荐书范文
2014/04/01 职场文书
学生评语大全
2014/04/18 职场文书
活动总结报告范文
2014/05/04 职场文书
关于保护环境的标语
2014/06/09 职场文书
2015年教研室工作总结范文
2015/05/23 职场文书
入党后的感想
2015/08/10 职场文书
高二语文教学反思
2016/02/16 职场文书
小学体育跳绳课教学反思
2016/02/16 职场文书
九年级语文教学反思
2016/03/03 职场文书
Redis Cluster 字段模糊匹配及删除
2021/05/27 Redis
Android开发之WECHAT微信小程序路由跳转的两种形式
2022/04/12 Java/Android