全网整合营销服务商

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

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


相关文章: 北京制作网站的公司排名,北京三快科技有限公司是做什么?北京三快科技?  如何确保FTP站点访问权限与数据传输安全?  如何快速启动建站代理加盟业务?  如何使用Golang安装API文档生成工具_快速生成接口文档  如何快速生成ASP一键建站模板并优化安全性?  武清网站制作公司,天津武清个人营业执照注销查询系统网站?  C#怎么创建控制台应用 C# Console App项目创建方法  linux top下的 minerd 木马清除方法  重庆市网站制作公司,重庆招聘网站哪个好?  北京网站制作公司哪家好一点,北京租房网站有哪些?  建站之星上传入口如何快速找到?  枣阳网站制作,阳新火车站打的到仙岛湖多少钱?  公司门户网站制作公司有哪些,怎样使用wordpress制作一个企业网站?  如何获取上海专业网站定制建站电话?  上海制作企业网站有哪些,上海有哪些网站可以让企业免费发布招聘信息?  Android自定义listview布局实现上拉加载下拉刷新功能  ,柠檬视频怎样兑换vip?  如何选择高效稳定的ISP建站解决方案?  网站制作费用多少钱,一个网站的运营,需要哪些费用?  电商平台网站制作流程,电商网站如何制作?  建站之星免费模板:自助建站系统与智能响应式一键生成  免费ppt制作网站,有没有值得推荐的免费PPT网站?  制作营销网站公司,淘特是干什么用的?  长沙做网站要多少钱,长沙国安网络怎么样?  详解jQuery中基本的动画方法  网站制作公司哪里好做,成都网站制作公司哪家做得比较好,更正规?  临沂网站制作企业,临沂第三中学官方网站?  湖南网站制作公司,湖南上善若水科技有限公司做什么的?  宝塔建站助手安装配置与建站模板使用全流程解析  TestNG的testng.xml配置文件怎么写  韩国服务器如何优化跨境访问实现高效连接?  php8.4新语法match怎么用_php8.4match表达式替代switch【方法】  建站主机选虚拟主机还是云服务器更好?  宁波免费建站如何选择可靠模板与平台?  如何在景安服务器上快速搭建个人网站?  如何登录建站主机?访问步骤全解析  中山网站制作网页,中山新生登记系统登记流程?  浅析上传头像示例及其注意事项  如何在香港免费服务器上快速搭建网站?  深圳网站制作的公司有哪些,dido官方网站?  广州商城建站系统开发成本与周期如何控制?  如何高效完成独享虚拟主机建站?  如何在Golang中实现微服务服务拆分_Golang微服务拆分与接口管理方法  如何在万网ECS上快速搭建专属网站?  宝塔新建站点为何无法访问?如何排查?  如何生成腾讯云建站专用兑换码?  免费网站制作模板下载,除了易企秀之外还有什么H5平台可以制作H5长页面,最好是免费的?  香港服务器部署网站为何提示未备案?  已有域名和空间如何快速搭建网站?  制作公司内部网站有哪些,内网如何建网站? 

您的项目需求

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