Python实战整活之聊天机器人
目录
- 一、前言
- 二、效果演示
- 三、完整代码
一、前言
刚刚学了一些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)
效果呢,就是你在这个位置的记事本里写东西然后保存,它会回复你消息,如果你说的话在规定的字典中,它就会回你预设好的话。如果没有预设,就会重复你的话(复读机)。
我把每次输入与返回都进行了输出
二、效果演示
你甚至可以跟它接crepper,如果你足够闲,也可以整个成语接龙。
三、完整代码
三个函数分别定义读取内容、写入内容、与定时
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()
然后是一个死循环,直到你输入了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实战整活之聊天机器人的文章就介绍到这了,更多相关python聊天机器人内容请搜索hwidc以前的文章或继续浏览下面的相关文章希望大家以后多多支持hwidc!