全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

Python实现破解猜数游戏算法示例

本文实例讲述了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小时内与您取得联系。