全网整合营销服务商

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

免费咨询热线: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实现猜数游戏  # 群里  # 大了  # 进阶  # 操作技巧  # 相关内容  # 最好的  # 更大  # 数据结构  # 给大家  # 请输入  # 中了  # 已经开始  # 人会  # 更多关于  # 不正确  # 所述  # 程序设计  # 使用技巧  # 你猜  # 更小 


相关文章: 建站之星如何取消后台验证码生成?  网站制作免费,什么网站能看正片电影?  如何在腾讯云服务器上快速搭建个人网站?  巅云智能建站系统:可视化拖拽+多端适配+免费模板一键生成  如何通过西部数码建站助手快速创建专业网站?  深圳网站制作平台,深圳市做网站好的公司有哪些?  手机怎么制作网站教程步骤,手机怎么做自己的网页链接?  实现虚拟支付需哪些建站技术支撑?  定制建站如何定义?其核心优势是什么?  网站专业制作公司,网站编辑是做什么的?好做吗?工作前景如何?  实例解析Array和String方法  建站三合一如何选?哪家性价比更高?  建站之星各版本价格是多少?  详解ASP.NET 生成二维码实例(采用ThoughtWorks.QRCode和QrCode.Net两种方式)  公司网站制作需要多少钱,找人做公司网站需要多少钱?  高防服务器租用首荐平台,企业级优惠套餐快速部署  成都网站制作价格表,现在成都广电的单独网络宽带有多少的,资费是什么情况呢?  大连网站设计制作招聘信息,大连投诉网站有哪些?  微网站制作教程,不会写代码,不会编程,怎么样建自己的网站?  建站中国必看指南:CMS建站系统+手机网站搭建核心技巧解析  专业网站制作企业网站,如何制作一个企业网站,建设网站的基本步骤有哪些?  创业网站制作流程,创业网站可靠吗?  品牌网站制作公司有哪些,买正品品牌一般去哪个网站买?  表情包在线制作网站免费,表情包怎么弄?  c# 在高并发场景下,委托和接口调用的性能对比  模具网站制作流程,如何找模具客户?  建站之星如何修改网站生成路径?  全景视频制作网站有哪些,全景图怎么做成网页?  制作农业网站的软件,比较好的农业网站推荐一下?  威客平台建站流程解析:高效搭建教程与设计优化方案  如何快速上传建站程序避免常见错误?  中山网站制作网页,中山新生登记系统登记流程?  建站之星如何优化SEO以实现高效排名?  电商网站制作公司有哪些,1688网是什么意思?  平台云上自主建站:模板化设计与智能工具打造高效网站  如何配置IIS站点权限与局域网访问?  高配服务器限时抢购:企业级配置与回收服务一站式优惠方案  北京专业网站制作设计师招聘,北京白云观官方网站?  高防网站服务器:DDoS防御与BGP线路的AI智能防护方案  整蛊网站制作软件,手机不停的收到各种网站的验证码短信,是手机病毒还是人为恶搞?有这种手机病毒吗?  如何在Golang中使用replace替换模块_指定本地或远程路径  阿里云网站搭建费用解析:服务器价格与建站成本优化指南  已有域名建站全流程解析:网站搭建步骤与建站工具选择  如何用免费手机建站系统零基础打造专业网站?  香港服务器网站搭建教程-电商部署、配置优化与安全稳定指南  建站之星如何开启自定义404页面避免用户流失?  定制建站模板如何实现SEO优化与智能系统配置?18字教程  如何通过免费商城建站系统源码自定义网站主题与功能?  香港服务器建站指南:免备案优势与SEO优化技巧全解析  武清网站制作公司,天津武清个人营业执照注销查询系统网站? 

您的项目需求

*请认真填写需求信息,我们会在24小时内与您取得联系。