本文实例讲述了Python实现破解猜数游戏算法。分享给大家供大家参考,具体如下:

QQ群里的聊天机器人会发起猜数小游戏. 玩法如下:
1. 用户发 #猜数 到群里
2. 机器人响应: 猜数已经开始, 范围是1-10000之间的某个数
3. 你发送 #猜数[123] 到群里
4. 机器人响应: 大了或者小了, 或者恭喜你猜中了
5. 你根据刚才猜的123, 和返回, 猜一个更小或更大的数, 发送 #猜数[111] , 即返回第2步
那么最好的猜测方法肯定是找居中的数了, 由于心算耗时, 所以直接上python脚本破解这个:
#!/usr/bin/env python
# -*- coding: utf-8 -*-
__author__ = 'huhu, <huyoo353@126.com>'
def find_middle(start, end):
#print start, end
return round((start+end)/2.0)
if __name__ == '__main__':
start, end = '',''
text = raw_input(u"> 输入猜数的范围(如:421-499 或者421 499 或者421,499):").decode('gb18030')
spliters = '-, '
for c in spliters:
if text.find(c) != -1:
num_list = text.split(c)
if ''.join(num_list).isdigit():
start, end = num_list[0],num_list[1]
break
if start == '' or end == '':
print u'范围不正确'
else:
start = int(start)
end = int(end)
count = 1
last_guess = find_middle(start,end)
while 1:
result = raw_input(u"放弃猜测直接回车, 等于输入=, 小了输入1, 大了请输入2\n>>> #猜数[%d] ,对吗?> " % last_guess ).decode('gb18030')
#print type(text)
if result in ['q','e','exit','quit','bye',u'退出']:
print 'Bye!'
break
else:
result=result.strip()
if result == '1':
start = last_guess
last_guess = find_middle(last_guess,end)
elif result == '2':
end = last_guess
last_guess = find_middle(start,last_guess)
elif result == '=':
print u'恭喜猜中, 共猜了%d次' % count
print u'#猜数[%d]' % last_guess
break
else: #
continue
count += 1
更多关于Python相关内容可查看本站专题:《Python数据结构与算法教程》、《Python Socket编程技巧总结》、《Python函数使用技巧总结》、《Python字符串操作技巧汇总》、《Python入门与进阶经典教程》及《Python文件与目录操作技巧汇总》
希望本文所述对大家Python程序设计有所帮助。
# Python
# 破解
# 猜数游戏
# 算法
# python实现的简单猜数字游戏
# python实现猜数字游戏
# python3.3使用tkinter开发猜数字游戏示例
# python实现猜数字游戏(无重复数字)示例分享
# python实现猜数字小游戏
# python简单猜数游戏实例
# Python版的文曲星猜数字游戏代码
# 如何利用Python开发一个简单的猜数字游戏
# python3实现猜数字游戏
# pycharm实现猜数游戏
# 群里
# 大了
# 进阶
# 操作技巧
# 相关内容
# 最好的
# 更大
# 数据结构
# 给大家
# 请输入
# 中了
# 已经开始
# 人会
# 更多关于
# 不正确
# 所述
# 程序设计
# 使用技巧
# 你猜
# 更小
相关文章:
制作网站的网址是什么,请问后缀为.com和.com.cn还有.cn的这三种网站是分别是什么类型的网站?
如何通过VPS建站无需域名直接访问?
建站主机服务器选型指南与性能优化方案解析
建站之星在线客服如何快速接入解答?
如何快速使用云服务器搭建个人网站?
nginx修改上传文件大小限制的方法
网站建设制作需要多少钱费用,自己做一个网站要多少钱,模板一般多少钱?
php json中文编码为null的解决办法
宁波自助建站系统如何快速打造专业企业网站?
电影网站制作价格表,那些提供免费电影的网站,他们是怎么盈利的?
如何在Golang中处理模块冲突_解决依赖版本不兼容问题
网站制作外包价格怎么算,招聘网站上写的“外包”是什么意思?
移动端手机网站制作软件,掌上时代,移动端网站的谷歌SEO该如何做?
如何配置IIS站点权限与局域网访问?
股票网站制作软件,网上股票怎么开户?
建站之星logo尺寸如何设置最合适?
如何用美橙互联一键搭建多站合一网站?
小说建站VPS选用指南:性能对比、配置优化与建站方案解析
极客网站有哪些,DoNews、36氪、爱范儿、虎嗅、雷锋网、极客公园这些互联网媒体网站有什么差异?
广州商城建站系统开发成本与周期如何控制?
如何用好域名打造高点击率的自主建站?
交易网站制作流程,我想开通一个网站,注册一个交易网址,需要那些手续?
如何用PHP工具快速搭建高效网站?
网站视频怎么制作,哪个网站可以免费收看好莱坞经典大片?
建站主机如何选?性能与价格怎样平衡?
如何通过FTP空间快速搭建安全高效网站?
网站设计制作企业有哪些,抖音官网主页怎么设置?
网站好制作吗知乎,网站开发好学吗?有什么技巧?
如何在Tomcat中配置并部署网站项目?
大连网站制作公司哪家好一点,大连买房网站哪个好?
家庭服务器如何搭建个人网站?
家庭建站与云服务器建站,如何选择更优?
番禺网站制作公司哪家值得合作,番禺图书馆新馆开放了吗?
Android自定义listview布局实现上拉加载下拉刷新功能
打鱼网站制作软件,波克捕鱼官方号怎么注册?
网站制作和推广的区别,想自己建立一个网站做推广,有什么快捷方法马上做好一个网站?
如何获取免费开源的自助建站系统源码?
哈尔滨网站建设策划,哈尔滨电工证查询网站?
独立制作一个网站多少钱,建立网站需要花多少钱?
外贸公司网站制作,外贸网站建设一般有哪些步骤?
Swift中swift中的switch 语句
如何通过VPS搭建网站快速盈利?
实例解析angularjs的filter过滤器
建站主机选购指南:核心配置与性价比推荐解析
制作电商网页,电商供应链怎么做?
如何解决VPS建站LNMP环境配置常见问题?
北京网站制作网页,网站升级改版需要多久?
专业制作网站的公司哪家好,建立一个公司网站的费用.有哪些部分,分别要多少钱?
郑州企业网站制作公司,郑州招聘网站有哪些?
如何挑选高效建站主机与优质域名?
*请认真填写需求信息,我们会在24小时内与您取得联系。