又見牛人虽画!Python寫各大聊天系統(tǒng)屏蔽臟話功能……

在全民互聯(lián)網(wǎng)的今天,各大社交網(wǎng)絡(luò)異橙俨。活躍码撰。當(dāng)然網(wǎng)絡(luò)上的游客也會有參差不齊,有時會說一些臟話个盆。但是當(dāng)這些臟話說出去的時候就變成了“******”被自動屏蔽了脖岛。這其實是社交平臺的基本功能。

今日颊亮,CoCo醬偶然發(fā)現(xiàn)一位Python大神柴梆,自己用代碼來實現(xiàn)了這個功能。一起來膜拜大神吧终惑!

首先來看看核心的功能替換臟話代碼如下:

image
image

是不是簡單輕松的就把臟話給屏蔽掉了呢绍在,這導(dǎo)入了時間模塊datetime用來獲取現(xiàn)在本地時間,后面會用來寫入日志保存

當(dāng)然很多游戲?qū)υ捓锩嬉矔@示當(dāng)前時間,然后speak是玩家要輸出的臟話(現(xiàn)在是演示后面會改成Input真正的輸入交互)揣苏,dirty是定義的臟話庫(當(dāng)然沒寫太多因為每地域都不同太多了寫不完)悯嗓,后面跟一個for循環(huán)來檢索

只要你說的話里面包含臟話庫內(nèi),那么我們就用replace替換掉卸察,最后打印也就等于公屏上顯示的字幕都是*了…當(dāng)然我們還要想那如何去跟蹤是誰什么時間都說了什么

這樣關(guān)聯(lián)就要用到類了脯厨,肯定會有疑惑為什么用類,首先類class是一類(比如桌子有方桌坑质、圓桌合武、會議桌、辦公桌等)事物描述的概括涡扼,例如一群玩家Player稼跳,他們都有各自的游戲名字name,然后都具有聊天功能(我們又稱之為動作)吃沪,這樣就既可以分類又可以達(dá)到區(qū)分的效果汤善。代碼如下:

image
image

這里就很全面的介紹了類的使用及工作流程效果,這里先創(chuàng)建一個類Player玩家類,init初始化他的名字name

其中他具備聊天功能talk,還具備日志記錄功能票彪,那么來聊天運作流程红淡,每個玩家注冊后登錄游戲會有一個游戲名字(你可以理解為登錄QQ后),這里self.name=name等于獲取到你的個人名稱(網(wǎng)名)降铸,然后打聊天窗口進(jìn)入talk在旱,self.string你輸入的聊天信息,self.log記錄日志,重點是優(yōu)先把你原本的話記入到聊天日志中這樣查可以查到你的記錄推掸,self.string.replace替換掉你說的臟話,那么屏幕上只會顯示替換后的話語例如這打印的本來是fuck編程了雅蠛蝶…

這個工作流程是不是很清晰了呢桶蝎,當(dāng)然你不了解類方法這里就會很迷糊了,慢慢來只要有這個思路學(xué)了類以后就很輕松了谅畅。

當(dāng)然不會這樣就結(jié)束登渣,最后把基本的完整代碼放出來代碼如下:

image

測試結(jié)果如下:

image
image

你可以新建一個文件名叫zanghua.txt空文本就行,只是用來演示存儲日志的行為效果毡泻,上面打印說change Player是為了演示不同用戶輸入做了個簡易切換,實際上的系統(tǒng)你登錄后很少切換用戶之類的绍豁,就只是當(dāng)前帳號聊天了,這里的代碼就添加文件處理方式with open (文件名牙捉,打開模式) 簡稱為 f之類的然后寫入write(記得在寫入的最后加上n換行符,不然全寫第一行很難認(rèn))關(guān)于datetime[:7]切片 把上面打印時候時間后面的余數(shù)給忽略掉更簡潔點敬飒⌒安基本上的流程如此,當(dāng)然可以有很多擴(kuò)展无拗,例如臟話次數(shù)超過多少禁止發(fā)言带到,限制發(fā)言幾分鐘啊,日志方面可以定時清空啊等等英染。這就看大家自己去研究了揽惹,代碼量就有點大了這里就不展示了被饿。最后我要說明的圖如下,有很多人估計誤解了些點什么搪搏。狭握。

image

這只是演示流程的思路(提供給入門開發(fā)的新手參考),歡迎大佬們研討指正疯溺。

最后還是老臺詞:希望能對學(xué)習(xí)Python的小伙伴有所幫助B勐!囱嫩!

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末恃疯,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子墨闲,更是在濱河造成了極大的恐慌今妄,老刑警劉巖,帶你破解...
    沈念sama閱讀 219,270評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件鸳碧,死亡現(xiàn)場離奇詭異盾鳞,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)杆兵,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,489評論 3 395
  • 文/潘曉璐 我一進(jìn)店門雁仲,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人琐脏,你說我怎么就攤上這事攒砖。” “怎么了日裙?”我有些...
    開封第一講書人閱讀 165,630評論 0 356
  • 文/不壞的土叔 我叫張陵吹艇,是天一觀的道長。 經(jīng)常有香客問我昂拂,道長受神,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,906評論 1 295
  • 正文 為了忘掉前任格侯,我火速辦了婚禮鼻听,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘联四。我一直安慰自己撑碴,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 67,928評論 6 392
  • 文/花漫 我一把揭開白布朝墩。 她就那樣靜靜地躺著醉拓,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上亿卤,一...
    開封第一講書人閱讀 51,718評論 1 305
  • 那天愤兵,我揣著相機(jī)與錄音,去河邊找鬼排吴。 笑死秆乳,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的傍念。 我是一名探鬼主播矫夷,決...
    沈念sama閱讀 40,442評論 3 420
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼憋槐!你這毒婦竟也來了双藕?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,345評論 0 276
  • 序言:老撾萬榮一對情侶失蹤阳仔,失蹤者是張志新(化名)和其女友劉穎忧陪,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體近范,經(jīng)...
    沈念sama閱讀 45,802評論 1 317
  • 正文 獨居荒郊野嶺守林人離奇死亡嘶摊,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,984評論 3 337
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了评矩。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片叶堆。...
    茶點故事閱讀 40,117評論 1 351
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖斥杜,靈堂內(nèi)的尸體忽然破棺而出虱颗,到底是詐尸還是另有隱情,我是刑警寧澤蔗喂,帶...
    沈念sama閱讀 35,810評論 5 346
  • 正文 年R本政府宣布忘渔,位于F島的核電站,受9級特大地震影響缰儿,放射性物質(zhì)發(fā)生泄漏畦粮。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,462評論 3 331
  • 文/蒙蒙 一乖阵、第九天 我趴在偏房一處隱蔽的房頂上張望宣赔。 院中可真熱鬧,春花似錦瞪浸、人聲如沸拉背。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,011評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春齐蔽,著一層夾襖步出監(jiān)牢的瞬間两疚,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,139評論 1 272
  • 我被黑心中介騙來泰國打工含滴, 沒想到剛下飛機(jī)就差點兒被人妖公主榨干…… 1. 我叫王不留诱渤,地道東北人。 一個月前我還...
    沈念sama閱讀 48,377評論 3 373
  • 正文 我出身青樓谈况,卻偏偏與公主長得像勺美,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子碑韵,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 45,060評論 2 355

推薦閱讀更多精彩內(nèi)容