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 isinstance判断对象类型
Sep 06 Python
Python中for循环和while循环的基本使用方法
Aug 21 Python
Python中time模块和datetime模块的用法示例
Feb 28 Python
python多进程实现进程间通信实例
Nov 24 Python
python将文本中的空格替换为换行的方法
Mar 19 Python
在python中实现将一张图片剪切成四份的方法
Dec 05 Python
Django处理多用户类型的方法介绍
May 18 Python
pytorch torch.expand和torch.repeat的区别详解
Nov 05 Python
利用OpenCV中对图像数据进行64F和8U转换的方式
Jun 03 Python
结束运行python的方法
Jun 16 Python
Python xlrd/xlwt 创建excel文件及常用操作
Sep 24 Python
python调用有道智云API实现文件批量翻译
Oct 10 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
提取HTML标签
2006/10/09 PHP
php对数组排序的简单实例
2013/12/25 PHP
分享php代码将360浏览器导出的favdb的sqlite数据库文件转换为html
2015/12/09 PHP
jQuery 中关于CSS操作部分使用说明
2007/06/10 Javascript
javascript 同时在IE和FireFox获取KeyCode的代码
2010/02/07 Javascript
offsetParent 算法分析
2010/04/05 Javascript
Jquery UI震动效果实现原理及步骤
2013/02/04 Javascript
JavaScript跨域方法汇总
2014/10/16 Javascript
JS新包管理工具yarn和npm的对比与使用入门
2016/12/09 Javascript
jquery插件锦集【推荐】
2016/12/16 Javascript
基于JS实现二维码图片固定在右下角某处并跟随滚动条滚动
2017/02/08 Javascript
vuejs响应用户事件(如点击事件)
2017/03/14 Javascript
一个基于react的图片裁剪组件示例
2018/04/18 Javascript
clipboard.js在移动端复制失败的解决方法
2018/06/13 Javascript
扫微信小程序码实现网站登陆实现解析
2019/08/20 Javascript
vue实现折线图 可按时间查询
2020/08/21 Javascript
浅谈numpy库的常用基本操作方法
2018/01/09 Python
Python实现线程状态监测简单示例
2018/03/28 Python
谈谈Python中的while循环语句
2019/03/10 Python
python3.6编写的单元测试示例
2019/08/17 Python
python怎么提高计算速度
2020/06/11 Python
HTML5通过调用canvas对象的getContext()方法来获取绘图环境
2014/06/23 HTML / CSS
谈一谈HTML5本地存储技术
2016/03/02 HTML / CSS
html5将图片转换成base64的实例代码
2016/09/21 HTML / CSS
HTML5制作表格样式
2016/11/15 HTML / CSS
英国电器零售商:PRC Direct
2018/06/21 全球购物
美国葡萄酒网上商店:Martha Stewart Wine Co.
2019/03/17 全球购物
巴西最大的珠宝连锁店:Vivara
2019/04/18 全球购物
刚毕业大学生自荐信范文
2014/02/20 职场文书
原材料检验岗位职责
2014/03/15 职场文书
网络宣传方案
2014/03/15 职场文书
保洁公司服务承诺书
2014/05/28 职场文书
计算机多媒体专业自荐信
2014/07/04 职场文书
党员自我剖析材料
2014/08/31 职场文书
经费申请报告
2015/05/15 职场文书
Mysql Show Profile
2021/04/05 MySQL