在全民互联网的今天,各大社交网络异常活跃。当然网络上的游客也会有参差不齐,有时会说一些脏话。但是当这些脏话说出去的时候就变成了“******”被自动屏蔽了。这其实是社交平台的基本功能。

今日,CoCo酱偶然发现一位Python大神,自己用代码来实现了这个功能。一起来膜拜大神吧!

首先来看看核心的功能替换脏话代码如下:

image

image

是不是简单轻松的就把脏话给屏蔽掉了呢,这导入了时间模块datetime用来获取现在本地时间,后面会用来写入日志保存

当然很多游戏对话里面也会显示当前时间,然后speak是玩家要输出的脏话(现在是演示后面会改成Input真正的输入交互),dirty是定义的脏话库(当然没写太多因为每地域都不同太多了写不完),后面跟一个for循环来检索

只要你说的话里面包含脏话库内,那么我们就用replace替换掉,最后打印也就等于公屏上显示的字幕都是*了…当然我们还要想那如何去跟踪是谁什么时间都说了什么

这样关联就要用到类了,肯定会有疑惑为什么用类,首先类class是一类(比如桌子有方桌、圆桌、会议桌、办公桌等)事物描述的概括,例如一群玩家Player,他们都有各自的游戏名字name,然后都具有聊天功能(我们又称之为动作),这样就既可以分类又可以达到区分的效果。代码如下:

image

image

这里就很全面的介绍了类的使用及工作流程效果,这里先创建一个类Player玩家类,init初始化他的名字name

其中他具备聊天功能talk,还具备日志记录功能,那么来聊天运作流程,每个玩家注册后登录游戏会有一个游戏名字(你可以理解为登录QQ后),这里self.name=name等于获取到你的个人名称(网名),然后打聊天窗口进入talk,self.string你输入的聊天信息,self.log记录日志,重点是优先把你原本的话记入到聊天日志中这样查可以查到你的记录,self.string.replace替换掉你说的脏话,那么屏幕上只会显示替换后的话语例如这打印的本来是fuck编程了雅蠛蝶…

这个工作流程是不是很清晰了呢,当然你不了解类方法这里就会很迷糊了,慢慢来只要有这个思路学了类以后就很轻松了。

当然不会这样就结束,最后把基本的完整代码放出来代码如下:

image

测试结果如下:

image

image

你可以新建一个文件名叫zanghua.txt空文本就行,只是用来演示存储日志的行为效果,上面打印说change Player是为了演示不同用户输入做了个简易切换,实际上的系统你登录后很少切换用户之类的,就只是当前帐号聊天了,这里的代码就添加文件处理方式with open (文件名,打开模式) 简称为 f之类的然后写入write(记得在写入的最后加上n换行符,不然全写第一行很难认)关于datetime[:7]切片 把上面打印时候时间后面的余数给忽略掉更简洁点。基本上的流程如此,当然可以有很多扩展,例如脏话次数超过多少禁止发言,限制发言几分钟啊,日志方面可以定时清空啊等等。这就看大家自己去研究了,代码量就有点大了这里就不展示了。最后我要说明的图如下,有很多人估计误解了些点什么。。

image

这只是演示流程的思路(提供给入门开发的新手参考),欢迎大佬们研讨指正。

最后还是老台词:希望能对学习Python的小伙伴有所帮助!!!

java论坛怎么屏蔽脏话,又见牛人!Python写各大聊天系统屏蔽脏话功能……相关推荐

  1. Python写各大聊天系统的屏蔽脏话功能原理

    突然想到一个视频里面弹幕被和谐的一满屏的*号觉得很有趣,然后就想用python来试试写写看,结果还真玩出了点效果,思路是首先你得有一个脏话存放的仓库好到时候检测,那么个人还是喜欢用列表,因为列表灵活使 ...

  2. Python 写各大聊天系统的屏蔽脏话功能原理

    来源:Cookie-Fei www.cnblogs.com/cookie1026/p/6121363.html 突然想到一个视频里面弹幕被和谐的一满屏的*号觉得很有趣,然后就想用python来试试写写 ...

  3. 精华转贴:只是为了记录---我们实验室一个牛人去年写的找工作的总结

    精华转贴:只是为了记录---我们实验室一个牛人去年写的找工作的总结 精华转贴:只是为了记录---我们实验室一个牛人去年写的找工作的总结2008-01-28       15:30最近由于某些原因,不能 ...

  4. 计算机科学申请文书,美国留学:看牛人怎么写申请计算机CS专业的文书

    下面给大家分享一篇牛人申请美国计算机CS专业的文书,希望对想申请美国计算机专业的学生提供帮助. 声明的目的 我长的和令人愉快的互动与计算机科学追溯到一年半几十年来,当我第一次学习编程的那一刻.上大学前 ...

  5. 梦幻哪个服务器最多牛人,盘点梦幻西游十大火区 你所在的服务器上榜了?

    原标题:盘点梦幻西游十大火区 你所在的服务器上榜了? 梦幻西游"十大"排名每年都在上演,长江后浪推前浪,前浪--emmm春节要到了,提前给大家拜个早年吧!不过相对"四大豪 ...

  6. 开篇 | 想成为技术牛人?先搞定网络协议!

    PS: 在极客时间买了一门课<趣谈网络协议>,为了帮助自己学习,我把学完的知识整理出来. 为什么网络协议这么重要?它貌似没有多少天搞定MFC.Structs这样的内容更容易带给人成就感,帮 ...

  7. 一个牛人给Java初学者的建议(必看篇)

    给初学者之一:浅谈Java及应用学java 从不知java为何物到现在一个小小的j2ee项目经理虽说不上此道高手,大概也算有点斤两了吧每次上网,泡bbs逛论坛,没少去java相关的版 面总体感觉初学者 ...

  8. 一个牛人给java初学者的建议(很有意义,转载的)

    一个牛人给java初学者的建议(很有意义,转载的) 给初学者之一:浅谈java及应用 学java不知不觉也已经三年了 从不知java为何物到现在一个小小的j2ee项目经理 虽说不上此道高手,大概也算有 ...

  9. 一个牛人给JAVA初学者的建议。虽然岁月漫长,但仍值得等待

    给初学者之一:浅谈java及应用 学java不知不觉也已经三年了 从不知java为何物到现在一个小小的j2ee项目经理 虽说不上此道高手,大概也算有点斤两了吧 每次上网,泡bbs逛论坛,没少去java ...

最新文章

  1. Spring事务支持:利用继承简化配置
  2. vue post请求后台django接口Forbidden (CSRF token missing or incorrect.)
  3. PHP也能实现区块链?基础结构篇
  4. TinyXML保存UTF-8编码的XML
  5. pdm vault 使用_如何使用Key Vault连接器更好地保护Logic Apps中的秘密
  6. 拼多多股价创历史新高:市值再度逼近京东
  7. 讲讲金融业务(一)--自助结算终端POS
  8. bzoj 1635: [Usaco2007 Jan]Tallest Cow 最高的牛
  9. 手把手教你Excel数据处理!
  10. 路由器中的DMZ功能是什么?功能及设置方法详解
  11. Python基础(学习笔记)
  12. hbase1.2.1配置kerberos
  13. linux vi指令选则从某行到某行注释,详解linux vi命令用法
  14. Object.prototype.__proto__ 、Object.prototype和 Object.prototype.constructor
  15. JS的onload事件
  16. 把css样式表与html网页关联的方法,Dreamweaver 教程-CSS样式表的3种关联方法
  17. AE C# 图片和文本标注(通过查询)
  18. 人生苦短,为何一定要学Python?
  19. 安卓入坑第一篇——搞个录音的软件
  20. C语言实验题――圆柱体计算

热门文章

  1. 到底Python编程好学吗 为什么会如此受欢迎
  2. 微信小程序简单实现获取用户授权、用户头像并保存到本地
  3. 输入被除数和除数,求商。
  4. java出现次数最多的字母_java计算给定字符串中出现次数最多的字母和该字
  5. 红旗linux shell方式下配置声卡的命令是:,‘红旗杯’linux大赛——基础知识2
  6. 基于Multisim的自动售货的电路课程设计
  7. 1.16 利用Multisim 研究图P1.4所示电路在R的阻值变化时二极管的直流电压和交流电流的变化,并总结仿真结果。
  8. JUC并发编程系列详解篇十四(自旋锁 VS 适应性自旋锁)
  9. python按行读字符串,python按行读取文件并找出其中指定字符串
  10. Python日期的加减