欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Python實戰(zhàn)整活之聊天機(jī)器人

 更新時間:2021年04月25日 10:02:51   作者:Temmie1024  
這篇文章主要介紹了Python實戰(zhàn)整活之聊天機(jī)器人,文中有非常詳細(xì)的代碼示例,對正在學(xué)習(xí)python的小伙伴們有非常好的幫助,需要的朋友可以參考下

一、前言

剛剛學(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)文章

最新評論