美文网首页Python学习快车
看Python大佬如何让你炸毛的脏话消失!

看Python大佬如何让你炸毛的脏话消失!

作者: 松珏 | 来源:发表于2018-12-25 14:04 被阅读18次

在看视频时看到脏话怎么办?在玩游戏时看到脏话影响心情怎么弄?今天在这里教大家怎么用Python写一个脏话屏蔽器,思路是首先你得有一个脏话存放的仓库好到时候检测,那么个人还是喜欢用列表,因为列表灵活使用扩展都很方便,有了脏话库我们在来想核心怎么屏蔽脏话,你要记得玩家输入的弹幕数据类型是什么首档其次是字符串如果没有特殊要求就它了,万变不离其中总是这几个数据结构嘛,有了字符串替换*号什么的都轻松许多了对吧,今天所聊的是完整的一套结构,为了让大家更清晰学会,我会拆分代码然后在组装起来讲,这样大家就会有个更深了了解首先来看看核心的功能替换脏话代码如下:

#!/usr/bin/env python

# -*- coding:utf-8 -*-

import datetime

time = datetime.datetime.now()

speak = '你个狗日的,fuckR你妈哟,操你个仙人板板,个老麻批'

dirty = ['fuck','狗日的','犊子','麻批','仙人板板','R你妈','操你','草你']

for i in dirty:

    speak = speak.replace(i,'*')

print speak+" | "+str(time)

是不是简单轻松的就把脏话给屏蔽掉了呢,这导入了时间模块datetime用来获取现在本地时间,后面会用来写入日志保存,当然很多游戏对话里面也会显示当前时间,然后speak是玩家要输出的脏话(现在是演示后面会改成Input真正的输入交互),dirty是定义的脏话库(当然没写太多因为每地域都不同太多了写不完),后面跟一个for循环来检索,只要你说的话里面包含脏话库内,那么我们就用replace替换掉,最后打印也就等于公屏上显示的字幕都是*了…当然我们还要想那如何去跟踪是谁什么时间都说了什么,这样关联就要用到类了,肯定会有疑惑为什么用类,首先类class是一类(比如桌子有方桌、圆桌、会议桌、办公桌等)事物描述的概括,例如一群玩家Player,他们都有各自的游戏名字name,然后都具有聊天功能(我们又称之为动作),这样就既可以分类又可以达到区分的效果。代码如下:

class Player(object):

    def __init__(self,name):

        self.name = name

    def talk(self):

        self.string = 'whatever fuck no joke'

        self.log()

        self.string = self.string.replace('fuck','雅蠛蝶')

        print "公屏显示:%s--%s"%(self.name,self.string)

    def log(self):

        print "日志记录为:%s--%s"%(self.name,self.string)

t1 = Player('white')

t1.talk()

这里就很全面的介绍了类的使用及工作流程效果,这里先创建一个类Player玩家类,init初始化他的名字name,其中他具备聊天功能talk,还具备日志记录功能,那么来聊天运作流程,每个玩家注册后登录游戏会有一个游戏名字(你可以理解为登录QQ后),这里self.name=name等于获取到你的个人名称(网名),然后打聊天窗口进入talk,self.string你输入的聊天信息,self.log记录日志,重点是优先把你原本的话记入到聊天日志中这样查可以查到你的记录,self.string.replace替换掉你说的脏话,那么屏幕上只会显示替换后的话语例如这打印的本来是fuck编程了雅蠛蝶…这个工作流程是不是很清晰了呢,当然你不了解类方法这里就会很迷糊了,慢慢来只要有这个思路学了类以后就很轻松了。当然不会这样就结束,最后把基本的完整代码放出来代码如下:

import datetime

time = str(datetime.datetime.now())[:-7]

dirty = ['fuck','狗日的','犊子','麻批','仙人板板','R你妈','操你','草你']

class Player(object):

    def __init__(self,name):

        self.name = name

    def talk(self):

        self.string = raw_input("input-write:")

        # self.string = '你个狗日的,R你妈哟,操你个仙人板板,个老麻批'

        self.log()

        for i in dirty:

            self.string = self.string.replace(i,'雅蠛蝶')

        print "{}  {}-speak:{}".format(time,self.name,self.string,)

    def log(self):

        with open('zanghua.txt','a') as f:

            f.write("{}  {}-speak:{}n".format(time,self.name,self.string))

t1 = Player('white')

t2 = Player('black')

t3 = Player('green')

while True:

    n = raw_input('change Player:')

    if n == '1':

        t1.talk()

    elif n == '2':

        t2.talk()

    elif n == '3':

        t3.talk()

    elif n == 'q':

        print 'Bye'

        break

    else:

        print "尼玛在逗我?"

测试结果如下:

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

这只是演示流程的思路(提供给入门开发的新手参考),请大佬们不要误解。

有需要Python学习资料,或者需要Python环境的老铁可以加群571799375,里面的资料免费发送给大家!(Python学习资料是2018年最新版)

本文来自网络,如有侵权,请联系小编删除!

相关文章

  • 看Python大佬如何让你炸毛的脏话消失!

    在看视频时看到脏话怎么办?在玩游戏时看到脏话影响心情怎么弄?今天在这里教大家怎么用Python写一个脏话屏蔽器,思...

  • 舒缓:十年来对老公说脏话的抗拒

    没错,我非常非常非常非常……讨厌老公说脏话,尤其是不敢入耳的话对我说,我立马就炸毛了,全身上下都充满了怒火,你凭什...

  • 六星教育:学习python真的只需要3天吗?

    自从python成最受欢迎语言以来,网络上出现各种“3天让你学会python”、“10天助你成为python大佬”...

  • 20190531。

    在我冲动的时候你告诉我不要冲动,不要分分钟炸毛,不要给你脸色看,毕竟,过日子的人,不需要爱情。 我好像忍不住不炸毛...

  • 根源

    文/锐猛 / 我将伸开攥紧的拳头 让你看掌心中 旋转的色彩 如何变幻 又如何消失

  • 你能不能用点心!!!

    总有那么一句话会让你炸毛 于我而言 最伤...

  • C++中getline()、gets()等函数的用法

    看大佬如何讲解

  • 随记(20181015-20181021)

    Python 你是如何自学 Python 的? - MurphyWan的回答 - 知乎 建议看《利用Python进...

  • 落月(4)逃脱

    唐月瞬间有被惊艳到,神情怔怔。少年看到对面不起眼的唐月,那眼神瞬间让他炸毛,但又小声说道:“看什么看,再看把你眼睛...

  • 炸毛

    汤姆的毛全炸了,真的被火药爆过一样,所有的毛都竖立起来,向天空。曾经有一种科学实验,高压的电力,会让附着的一切纤维...

网友评论

    本文标题:看Python大佬如何让你炸毛的脏话消失!

    本文链接:https://www.haomeiwen.com/subject/yhkflqtx.html