Python實戰(zhàn)整活之聊天機器人
一、前言
剛剛學了一些python文件讀寫的內容,先跑過來整活了。順便復習一下之前學的東西。
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)
效果呢,就是你在這個位置的記事本里寫東西然后保存,它會回復你消息,如果你說的話在規(guī)定的字典中,它就會回你預設好的話。如果沒有預設,就會重復你的話(復讀機)。
我把每次輸入與返回都進行了輸出
二、效果演示
你甚至可以跟它接crepper,如果你足夠閑,也可以整個成語接龍。
三、完整代碼
三個函數(shù)分別定義讀取內容、寫入內容、與定時
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是預設回答的字典。
先寫入內容,清空之前的文字,提示程序開始。讀取文件內容,就是'test begin'
iWrite('test begin') message0 = iRead()
然后是一個死循環(huán),直到你輸入了q,才會退出。
每隔1秒讀取一次文件中的內容,如果文件內容沒變視為沒輸入,文件內容變化則對字典進行檢索,返回None證明無對應答案,則復讀。如果返回了值則輸出該值。
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)
到此這篇關于Python實戰(zhàn)整活之聊天機器人的文章就介紹到這了,更多相關python聊天機器人內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
python3.6.5基于kerberos認證的hive和hdfs連接調用方式
這篇文章主要介紹了python3.6.5基于kerberos認證的hive和hdfs連接調用方式,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-06-06自適應線性神經(jīng)網(wǎng)絡Adaline的python實現(xiàn)詳解
這篇文章主要介紹了自適應線性神經(jīng)網(wǎng)絡Adaline的python實現(xiàn)詳解,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下2019-09-09關于pytorch中全連接神經(jīng)網(wǎng)絡搭建兩種模式詳解
今天小編就為大家分享一篇關于pytorch中全連接神經(jīng)網(wǎng)絡搭建兩種模式詳解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-01-01