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根据区号生成手机号码的方法
Jul 08 Python
浅析python打包工具distutils、setuptools
Apr 20 Python
Python定义函数功能与用法实例详解
Apr 08 Python
django用户登录验证的完整示例代码
Jul 21 Python
Python3直接爬取图片URL并保存示例
Dec 18 Python
Softmax函数原理及Python实现过程解析
May 22 Python
新手学习Python2和Python3中print不同的用法
Jun 09 Python
keras 模型参数,模型保存,中间结果输出操作
Jul 06 Python
Python 添加文件注释和函数注释操作
Aug 09 Python
Python程序慢的重要原因
Sep 04 Python
python+appium+yaml移动端自动化测试框架实现详解
Nov 24 Python
python3 googletrans超时报错问题及翻译工具优化方案 附源码
Dec 23 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
解析如何用php screw加密php源代码
2013/06/20 PHP
PHP获取中英混合字符串长度的方法
2014/06/07 PHP
PHP 面向对象程序设计(oop)学习笔记(三) - 单例模式和工厂模式
2014/06/12 PHP
用 Composer构建自己的 PHP 框架之基础准备
2014/10/30 PHP
PHP实现的微信APP支付功能示例【基于TP5框架】
2019/09/16 PHP
Laravel如何实现自动加载类
2019/10/14 PHP
jquery 选择器部分整理
2009/10/28 Javascript
jQuery判断复选框是否勾选的原理及示例
2014/05/21 Javascript
js限制文本框只能输入整数或者带小数点的数字
2015/04/27 Javascript
jQuery使用方法
2017/02/04 Javascript
jQuery页面弹出框实现文件上传
2017/02/09 Javascript
浅谈基于Vue.js的移动组件库cube-ui
2017/12/20 Javascript
解决jQuery使用append添加的元素事件无效的问题
2018/08/30 jQuery
简单谈谈javascript高级特性
2019/09/04 Javascript
JavaScript设计模式之观察者模式与发布订阅模式详解
2020/05/07 Javascript
[03:55]显微镜下的DOTA2特别篇——430灰烬之灵神级操作
2014/06/24 DOTA
[01:51]历届DOTA2国际邀请赛举办地回顾 TI9落地上海
2018/08/26 DOTA
[30:37]【全国守擂赛】第三周擂主赛 Dark Knight vs. Leopard Gaming
2020/05/04 DOTA
python基于mysql实现的简单队列以及跨进程锁实例详解
2014/07/07 Python
初步讲解Python中的元组概念
2015/05/21 Python
Python 26进制计算实现方法
2015/05/28 Python
python取代netcat过程分析
2018/02/10 Python
python使用Flask操作mysql实现登录功能
2018/05/14 Python
python opencv实现切变换 不裁减图片
2018/07/26 Python
如何用Python破解wifi密码过程详解
2019/07/12 Python
在python里使用await关键字来等另外一个协程的实例
2020/05/04 Python
python网络编程之五子棋游戏
2020/05/14 Python
浅析pandas随机排列与随机抽样
2021/01/22 Python
视图的作用
2014/12/19 面试题
如何开发一个JQuery插件
2016/07/28 面试题
资深地理教师自我评价
2013/09/21 职场文书
外语系毕业生求职自荐信
2014/04/12 职场文书
债务追讨授权委托书范本
2014/10/16 职场文书
祝福语集锦:送给闺蜜的生日祝福语
2019/10/08 职场文书
南阳市白酒市场的调查报告
2019/11/08 职场文书
python识别围棋定位棋盘位置
2021/07/26 Python