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实现sublime3的less编译插件示例
Apr 27 Python
python以环状形式组合排列图片并输出的方法
Mar 17 Python
Python闭包的两个注意事项(推荐)
Mar 20 Python
Python如何生成树形图案
Jan 03 Python
Python安装模块的常见问题及解决方法
Feb 05 Python
python opencv3实现人脸识别(windows)
May 25 Python
opencv python 2D直方图的示例代码
Jul 20 Python
Python学习笔记基本数据结构之序列类型list tuple range用法分析
Jun 08 Python
matplotlib命令与格式之tick坐标轴日期格式(设置日期主副刻度)
Aug 06 Python
如何在python中写hive脚本
Nov 08 Python
python随机生成大小写字母数字混合密码(仅20行代码)
Feb 01 Python
Pytorch 统计模型参数量的操作 param.numel()
May 13 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
第一个无线电台是由谁发明的
2021/03/01 无线电
PHP 中的面向对象编程:通向大型 PHP 工程的办法
2006/12/03 PHP
JavaScript函数、方法、对象代码
2008/10/29 Javascript
利用javascript判断文件是否存在
2013/12/31 Javascript
使用原生js写的一个简单slider
2014/04/29 Javascript
setInterval计时器不准的问题解决方法
2014/05/08 Javascript
JavaScript学习笔记之JS对象
2015/01/22 Javascript
分享10个原生JavaScript技巧
2015/04/20 Javascript
js实现简洁的TAB滑动门效果代码
2015/09/06 Javascript
推荐10 个很棒的 jQuery 特效代码
2015/10/04 Javascript
详解jQuery中ajax.load()方法
2017/01/25 Javascript
js实现手机发送验证码功能
2017/03/13 Javascript
JS按条件 serialize() 对应标签的使用方法
2017/07/24 Javascript
javascript计算渐变颜色的实例
2017/09/22 Javascript
简单说说angular.json文件的使用
2018/10/29 Javascript
Node.js net模块功能及事件监听用法分析
2019/01/05 Javascript
vue配置接口域名方法总结
2019/05/12 Javascript
基于Vue+ElementUI的省市区地址选择通用组件
2019/11/20 Javascript
vue组件库的在线主题编辑器的实现思路
2020/04/03 Javascript
vue实现把接口单独存放在一个文件方式
2020/08/13 Javascript
详解Python里使用正则表达式的ASCII模式
2017/11/02 Python
Python实现判断字符串中包含某个字符的判断函数示例
2018/01/08 Python
PyTorch搭建多项式回归模型(三)
2019/05/22 Python
后端开发使用pycharm的技巧(推荐)
2020/03/27 Python
Python selenium模拟手动操作实现无人值守刷积分功能
2020/05/13 Python
详解Sticky Footer 绝对底部的两种套路
2017/11/03 HTML / CSS
普通PHP程序员笔试题
2016/01/01 面试题
失业者真诚求职信范文
2013/12/25 职场文书
网上卖盒饭创业计划书
2014/01/26 职场文书
主要领导对照检查材料
2014/08/26 职场文书
高中毕业典礼演讲稿
2014/09/09 职场文书
2014年煤矿工作总结
2014/11/24 职场文书
优秀班主任推荐材料
2014/12/17 职场文书
领导干部考核评语
2015/01/04 职场文书
个人年终总结开头
2015/03/06 职场文书
导游词之重庆渣滓洞
2020/01/08 职场文书