Python實戰(zhàn)整活之聊天機(jī)器人
一、前言
剛剛學(xué)了一些python文件讀寫的內(nèi)容,先跑過來整活了。順便復(fù)習(xí)一下之前學(xué)的東西。
import time doc_local='D:\learning_folder\interaction.txt' def iRead(): fr = open(doc_local, 'r') message=fr.read() return message def iWrite(message): fw = open(doc_local, 'w') fw.write(message) fw.close() def dTime(num): a=time.time() b=time.time() while (b-a)<num: b=time.time() return None answer={'i am temmie':'you are temmie? who am i?','temmie':'temmie!!!','wang!':'wangwangwang!!!'} iWrite('test begin') message0 = iRead() print(message0) while True: dTime(1.0000000) mes = iRead() if mes!=message0: v=answer.get(mes) if v==None: if mes=='q' : print('退出運行') break else: print('message:', mes, end='\t') a_out=('temmie say again:{0}'.format(mes)) message0 = a_out iWrite(a_out) print(a_out) else: print('message:', mes, end='\t') b_out=('{0}'.format(answer.get(mes))) message0 =b_out iWrite(b_out) print('answer:',b_out)
效果呢,就是你在這個位置的記事本里寫東西然后保存,它會回復(fù)你消息,如果你說的話在規(guī)定的字典中,它就會回你預(yù)設(shè)好的話。如果沒有預(yù)設(shè),就會重復(fù)你的話(復(fù)讀機(jī))。
我把每次輸入與返回都進(jìn)行了輸出
二、效果演示
你甚至可以跟它接crepper,如果你足夠閑,也可以整個成語接龍。
三、完整代碼
三個函數(shù)分別定義讀取內(nèi)容、寫入內(nèi)容、與定時
def iRead(): fr = open(doc_local, 'r') message=fr.read() return message def iWrite(message): fw = open(doc_local, 'w') fw.write(message) fw.close() def dTime(num): a=time.time() b=time.time() while (b-a)<num: b=time.time() return None
answer是預(yù)設(shè)回答的字典。
先寫入內(nèi)容,清空之前的文字,提示程序開始。讀取文件內(nèi)容,就是'test begin'
iWrite('test begin') message0 = iRead()
然后是一個死循環(huán),直到你輸入了q,才會退出。
每隔1秒讀取一次文件中的內(nèi)容,如果文件內(nèi)容沒變視為沒輸入,文件內(nèi)容變化則對字典進(jìn)行檢索,返回None證明無對應(yīng)答案,則復(fù)讀。如果返回了值則輸出該值。
while True: dTime(1.0000000) mes = iRead() if mes!=message0: v=answer.get(mes) if v==None: if mes=='q' : print('退出運行') break else: print('message:', mes, end='\t') a_out=('temmie say again:{0}'.format(mes)) message0 = a_out iWrite(a_out) print(a_out) else: print('message:', mes, end='\t') b_out=('{0}'.format(answer.get(mes))) message0 =b_out iWrite(b_out) print('answer:',b_out)
到此這篇關(guān)于Python實戰(zhàn)整活之聊天機(jī)器人的文章就介紹到這了,更多相關(guān)python聊天機(jī)器人內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
python3.6.5基于kerberos認(rèn)證的hive和hdfs連接調(diào)用方式
這篇文章主要介紹了python3.6.5基于kerberos認(rèn)證的hive和hdfs連接調(diào)用方式,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-06-06自適應(yīng)線性神經(jīng)網(wǎng)絡(luò)Adaline的python實現(xiàn)詳解
這篇文章主要介紹了自適應(yīng)線性神經(jīng)網(wǎng)絡(luò)Adaline的python實現(xiàn)詳解,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下2019-09-09Python數(shù)據(jù)結(jié)構(gòu)與算法之算法分析詳解
算法分析的主要目標(biāo)是從運行時間和內(nèi)存空間消耗等方面比較算法。本文將為大家詳細(xì)介紹Python數(shù)據(jù)結(jié)構(gòu)與算法中的算法分析,需要的可以參考一下2021-12-12關(guān)于pytorch中全連接神經(jīng)網(wǎng)絡(luò)搭建兩種模式詳解
今天小編就為大家分享一篇關(guān)于pytorch中全連接神經(jīng)網(wǎng)絡(luò)搭建兩種模式詳解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-01-01