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编写一个在Linux下实现截图分享的脚本的教程
Apr 24 Python
TensorFlow实现Softmax回归模型
Mar 09 Python
python批量赋值操作实例
Oct 22 Python
对pandas读取中文unicode的csv和添加行标题的方法详解
Dec 12 Python
Python设计模式之组合模式原理与用法实例分析
Jan 11 Python
python使用selenium登录QQ邮箱(附带滑动解锁)
Jan 23 Python
Python List cmp()知识点总结
Feb 18 Python
利用Python查看微信共同好友功能的实现代码
Apr 24 Python
OpenCV-Python 摄像头实时检测人脸代码实例
Apr 30 Python
详解python中eval函数的作用
Oct 22 Python
python语言的优势是什么
Jun 17 Python
Python内置数据类型中的集合详解
Mar 18 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
PHP4之真OO
2006/10/09 PHP
Windows下的PHP5.0详解
2006/11/18 PHP
php面向对象全攻略 (十二) 抽象方法和抽象类
2009/09/30 PHP
php开发留言板的CRUD(增,删,改,查)操作
2012/04/19 PHP
PHP count()函数讲解
2019/02/03 PHP
Laravel监听数据库访问,打印SQL的例子
2019/10/24 PHP
HR vs ForZe BO3 第二场 2.13
2021/03/10 DOTA
JQuery.ajax传递中文参数的解决方法 推荐
2011/03/28 Javascript
javascript获取select的当前值示例代码(兼容IE/Firefox/Opera/Chrome)
2013/12/17 Javascript
jQuery CSS()方法改变现有的CSS样式表
2014/09/09 Javascript
jQuery实现为图片添加镜头放大效果的方法
2015/06/25 Javascript
JavaScript学习小结(7)之JS RegExp
2015/11/29 Javascript
基于javascript html5实现3D翻书特效
2016/03/14 Javascript
AngularJS控制器继承自另一控制器
2016/05/09 Javascript
Bootstrap零基础入门教程(二)
2016/07/18 Javascript
原生js代码实现图片放大境效果
2016/10/30 Javascript
Vue.js第二天学习笔记(vue-router)
2016/12/01 Javascript
详解AngularJS1.x学习directive 中‘& ’‘=’ ‘@’符号的区别使用
2017/08/23 Javascript
微信小程序new Date()方法失效问题解决方法
2019/07/29 Javascript
java直接调用python脚本的例子
2014/02/16 Python
python Selenium爬取内容并存储至MySQL数据库的实现代码
2017/03/16 Python
python实时监控cpu小工具
2018/06/21 Python
Ubuntu18.04下python版本完美切换的解决方法
2019/06/14 Python
Django静态资源部署404问题解决方案
2020/05/11 Python
Python实现AES加密,解密的两种方法
2020/10/03 Python
Jupyter Notebook添加代码自动补全功能的实现
2021/01/07 Python
英国领先的汽车轮胎和快速健康中心:Kwik Fit
2017/10/29 全球购物
Carolina工作鞋官网:Carolina Footwear
2019/03/14 全球购物
linux面试题参考答案(5)
2016/11/05 面试题
博士研究生自我鉴定范文
2013/12/04 职场文书
管理学专业个人求职信范文
2013/12/13 职场文书
公司新员工的演讲稿注意事项
2014/01/01 职场文书
校庆接待方案
2014/03/18 职场文书
师范大学生求职信
2014/06/13 职场文书
微笑面对生活演讲稿
2014/09/23 职场文书
如何解决.cuda()加载用时很长的问题
2021/05/24 Python