Python实现的破解字符串找茬游戏算法示例


Posted in Python onSeptember 25, 2017

本文实例讲述了Python实现的破解字符串找茬游戏算法。分享给大家供大家参考,具体如下:

最近在一个QQ群里发现有那种机器人, 发出来字符串找茬游戏:

有点类似于:

没没没没没没没没没没没没没没没没没没
没没没没没没没没没没没没没没没没没没
没没没没没役没没没没没没没没没没没没
没没没没没没没没役没没没没没没没没没
没没没没没没没没没没没没没没没没没没
没没没没没没没没没没没没没没没没没没

玩法就是用户发消息到群里:

#找茬

然后群里有个自动聊天的机器人, 他接到这句话之后, 会将上面一大堆文字发到群里.

然后你可以发现里面有个"役", 这个时候, 你就发

#找茬[役]

这条消息到群里, 聊天机器人接收到你的消息后会说: 回答正确, 或者回答错误等等.

有时候, 找这个字, 眼睛看花, 费神, 我就用python写了个脚本来处理这个:

#!/usr/bin/env python
# -*- coding: utf-8 -*-
def char_diff(text):
  text=text.replace('\n','').replace('\r','')
  try:
    text=text.decode('gb18030','ignore')
  except:
    try:
      text=text.decode('utf-8','ignore')
    except:
      pass
  d={}
  for x in text:
    d[x]=d.get(x,0)+1
  lll= d.items()
  lll.sort(key = lambda x: x[1])
  return lll[0][0]
if __name__ == '__main__':
  while 1:
    text = raw_input("> ").decode('gb18030')
    #print type(text)
    if text in ['q','e','exit','quit','bye',u'退出']:
      print 'Bye!'
      break
    print u'#找茬[%s] ' % char_diff(text)

原理很简单, 就是统计字符个数, 返回出现次数最少的那个.

更多关于Python相关内容可查看本站专题:《Python数据结构与算法教程》、《Python Socket编程技巧总结》、《Python函数使用技巧总结》、《Python字符串操作技巧汇总》、《Python入门与进阶经典教程》及《Python文件与目录操作技巧汇总》

希望本文所述对大家Python程序设计有所帮助。

Python 相关文章推荐
Python面向对象程序设计类的多态用法详解
Apr 12 Python
关于Python 的简单栅格图像边界提取方法
Jul 05 Python
Pandas0.25来了千万别错过这10大好用的新功能
Aug 07 Python
python2.7实现复制大量文件及文件夹资料
Aug 31 Python
windows 10 设定计划任务自动执行 python 脚本的方法
Sep 11 Python
python多进程重复加载的解决方式
Dec 13 Python
Python3 获取文件属性的方式(时间、大小等)
Mar 12 Python
pycharm 添加解释器的方法步骤
Aug 31 Python
如何利用Python 进行边缘检测
Oct 14 Python
python中_del_还原数据的方法
Dec 09 Python
Python中非常使用的6种基本变量的操作与技巧
Mar 22 Python
python pygame 开发五子棋双人对弈
May 02 Python
Python实现破解猜数游戏算法示例
Sep 25 #Python
Python基于identicon库创建类似Github上用的头像功能
Sep 25 #Python
python3使用requests模块爬取页面内容的实战演练
Sep 25 #Python
python中通过预先编译正则表达式提高效率
Sep 25 #Python
python之Character string(实例讲解)
Sep 25 #Python
python利用正则表达式搜索单词示例代码
Sep 24 #Python
不同版本中Python matplotlib.pyplot.draw()界面绘制异常问题的解决
Sep 24 #Python
You might like
计数器详细设计
2006/10/09 PHP
Ubuntu VPS中wordpress网站打开时提示”建立数据库连接错误”的解决办法
2016/11/03 PHP
CI框架常用函数封装实例
2016/11/21 PHP
PHP数字金额转换成中文大写显示
2019/01/05 PHP
laravel中数据显示方法(默认值和下拉option默认选中)
2019/10/11 PHP
jquery获取ASP.NET服务器端控件dropdownlist和radiobuttonlist生成客户端HTML标签后的value和text值
2010/06/28 Javascript
获取css样式表内样式的js函数currentStyle(IE),defaultView(FF)
2011/02/14 Javascript
文档对象模型DOM通俗讲解
2013/11/01 Javascript
JavaScript函数获取事件源的小例子
2014/05/14 Javascript
在JavaScript中处理时间之setMinutes()方法的使用
2015/06/11 Javascript
xmlplus组件设计系列之图标(ICON)(1)
2017/05/05 Javascript
利用C/C++编写node.js原生模块的方法教程
2017/07/07 Javascript
js移动端事件基础及常用事件库详解
2017/08/15 Javascript
Vue2.0设置全局样式(less/sass和css)
2017/11/18 Javascript
微信小程序云开发实现数据添加、查询和分页
2019/05/17 Javascript
微信小程序嵌入腾讯视频源过程详解
2019/08/08 Javascript
微信小程序实现导航栏和内容上下联动功能代码
2020/06/29 Javascript
布同 统计英文单词的个数的python代码
2011/03/13 Python
python 全局变量的import机制介绍
2017/09/07 Python
python基本语法练习实例
2017/09/19 Python
Python3单行定义多个变量或赋值方法
2018/07/12 Python
浅述python2与python3的简单区别
2018/09/19 Python
python 申请内存空间,用于创建多维数组的实例
2019/12/02 Python
python爬虫爬取监控教务系统的思路详解
2020/01/08 Python
在Keras中实现保存和加载权重及模型结构
2020/06/15 Python
CSS3的RGBA中关于整数和百分比值的转换
2015/08/04 HTML / CSS
韩国邮政旗下生鲜食品网上超市:epost
2016/08/27 全球购物
印度在线杂货店:bigbasket
2018/08/23 全球购物
会计专业自我鉴定范文
2013/10/06 职场文书
自动化专业本科毕业生求职信
2013/10/20 职场文书
团队经理竞聘书
2014/03/31 职场文书
党的群众路线教育实践活动批评与自我批评发言稿
2014/10/16 职场文书
个人学习总结范文
2015/02/15 职场文书
2015年新教师工作总结
2015/04/28 职场文书
运动会1000米加油稿
2015/07/21 职场文书
解析:创业计划书和商业计划书二者之间到底有什么区别
2019/08/14 职场文书