Python實戰(zhàn)整活之聊天機器人
一、前言
剛剛學了一些python文件讀寫的內(nèi)容,先跑過來整活了。順便復(fù)習一下之前學的東西。
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ù)讀機)。
我把每次輸入與返回都進行了輸出
二、效果演示

你甚至可以跟它接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)容變化則對字典進行檢索,返回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)整活之聊天機器人的文章就介紹到這了,更多相關(guān)python聊天機器人內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
python3.6.5基于kerberos認證的hive和hdfs連接調(diào)用方式
這篇文章主要介紹了python3.6.5基于kerberos認證的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)詳解,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下2019-09-09
Python數(shù)據(jù)結(jié)構(gòu)與算法之算法分析詳解
算法分析的主要目標是從運行時間和內(nèi)存空間消耗等方面比較算法。本文將為大家詳細介紹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

