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 中的list和array的不同之处及转换问题
Mar 13 Python
Python用for循环实现九九乘法表
May 31 Python
详谈Python 窗体(tkinter)表格数据(Treeview)
Oct 11 Python
Python实现简单的列表冒泡排序和反转列表操作示例
Jul 10 Python
python将字母转化为数字实例方法
Oct 04 Python
Django对接支付宝实现支付宝充值金币功能示例
Dec 17 Python
python实现修改固定模式的字符串内容操作示例
Dec 30 Python
Python语法之精妙的十个知识点(装B语法)
Jan 18 Python
python+selenium 脚本实现每天自动登记的思路详解
Mar 11 Python
Matlab中plot基本用法的具体使用
Jul 17 Python
python 如何对logging日志封装
Dec 02 Python
Python采集爬取京东商品信息和评论并存入MySQL
Apr 12 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
批量获取memcache值并按key的顺序返回的实现代码
2011/06/14 PHP
使用PHP实现密保卡功能实现代码<打包下载直接运行>
2011/10/09 PHP
php集成环境xampp中apache无法启动问题解决方案
2014/11/18 PHP
php过滤输入操作之htmlentities与htmlspecialchars用法分析
2017/02/17 PHP
ThinkPHP 5.1 跨域配置方法
2019/10/11 PHP
php实现通过stomp协议连接ActiveMQ操作示例
2020/02/23 PHP
基于jQuery的前端数据通用验证库
2011/08/08 Javascript
ajax的hide隐藏问题解决方法
2012/12/11 Javascript
JS操作图片(增,删,改) 例子
2013/04/17 Javascript
使用闭包对setTimeout进行简单封装避免出错
2013/07/10 Javascript
jquery实现先淡出再折叠收起的动画效果
2015/08/07 Javascript
关于原生js中bind函数的简单实现
2016/08/10 Javascript
js模式化窗口问题![window.dialogArguments]
2016/10/30 Javascript
jQuery插件echarts实现的多折线图效果示例【附demo源码下载】
2017/03/04 Javascript
bootstrap多层模态框滚动条消失的问题
2017/07/21 Javascript
webpack引入eslint配置详解
2018/01/22 Javascript
判断文字超过2行添加展开按钮,未超过则不显示,溢出部分显示省略号
2019/04/28 Javascript
js实现圆形显示鼠标单击位置
2020/02/11 Javascript
使用Typescript和ES模块发布Node模块的方法
2020/05/25 Javascript
在python中使用requests 模拟浏览器发送请求数据的方法
2018/12/26 Python
python基于property()函数定义属性
2020/01/22 Python
pandas中read_csv、rolling、expanding用法详解
2020/04/21 Python
python中前缀运算符 *和 **的用法示例详解
2020/05/28 Python
浅谈Python协程
2020/06/17 Python
pytorch 移动端部署之helloworld的使用
2020/10/30 Python
Pytest测试框架基本使用方法详解
2020/11/25 Python
python操作toml文件的示例代码
2020/11/27 Python
英国经典球衣网站:Classic Football Shirts
2017/05/20 全球购物
哈曼俄罗斯官方网上商店:Harman.club
2020/07/24 全球购物
法律专业学生的自我评价
2014/02/07 职场文书
护理中职生求职信范文
2014/02/24 职场文书
授权委托书怎么写
2014/04/03 职场文书
项目建议书模板
2014/05/12 职场文书
病危通知单
2015/04/17 职场文书
《攀登者》:“海拔8000米以上,你不能指望任何人”
2019/11/25 职场文书
教你使用Jenkins集成Harbor自动发布镜像
2022/04/03 Servers