最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Python使用?TCP協(xié)議實現(xiàn)智能聊天機(jī)器人功能

 更新時間:2022年05月09日 11:50:33   作者:Yvonnae  
TCP協(xié)議適用于對效率要求相對較低而準(zhǔn)確性要求很高的場合,下面通過本文給大家介紹基于Python?使用?TCP?實現(xiàn)智能聊天機(jī)器人,需要的朋友可以參考下

編寫聊天程序的服務(wù)端代碼和客戶端代碼。完成后,先啟動服務(wù)端代碼,然 后啟動客戶端程序輸人問題,服務(wù)端可以返回相應(yīng)的答案。要求服務(wù)端代碼具 有一定的智能,能夠根據(jù)不完整的問題識別客戶端真正要問的問題。 程序運行后界面如下圖所示。

源代碼:
服務(wù)端 Sever.py:
from os.path import commonprefix
from posixpath import split
import socket
#建立聊天回復(fù)字典
words={'how are you?':'Fine,thank you.',
        'how old are you?':'18',
        'what is your name?':'xiaoming',
        'which subject do you like?':'computer science',
        'bye':'Bye'}
s =socket.socket()
s.bind(('127.0.0.1',8000))
s.listen(1)
clientsocket,clientaddress= s.accept()
print('Connection from',clientaddress)
#開始聊天
while True:
    data=clientsocket.recv(1024).decode()
    if not data:
        break
    print('Received:',data)
    i=0
    key=''
    for k in words.keys():
        data=' '.join(data.split())
        if len(commonprefix([k,data]))>len(k)*0.75:
            key=k
            break
        length=len(set(data.split())&set(k.split()))
        if length>i:
            i=length
            key=k
    clientsocket.sendall(words.get(key,'Sorry,can\'t find the question').encode())
clientsocket.close()
客戶端 Client.py:
import socket
import sys
s =socket.socket()
try:
    s.connect(('127.0.0.1',8000))
except Exception as e:
    print('Can\'t find the Sever please try again')
    sys.exit()
while True:
    c=input('Input the content you want to send:')
    s.sendall(c.encode())
    data=s.recv(1024)
    data=data.decode()
    print('Received:',data)
    if c.lower()=='bye':
        break
s.close()
測試用例:
how are you
how old are you
what's your name
bye

到此這篇關(guān)于Python 使用 TCP 實現(xiàn)智能聊天機(jī)器人的文章就介紹到這了,更多相關(guān)Python智能聊天機(jī)器人內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 基于python3的socket聊天編程

    基于python3的socket聊天編程

    這篇文章主要為大家詳細(xì)介紹了基于python3的socket聊天編程,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2020-02-02
  • Python連接數(shù)據(jù)庫進(jìn)行數(shù)據(jù)查詢的操作代碼

    Python連接數(shù)據(jù)庫進(jìn)行數(shù)據(jù)查詢的操作代碼

    這篇文章主要介紹了Python連接數(shù)據(jù)庫進(jìn)行數(shù)據(jù)查詢的操作代碼,本文給大家介紹的非常詳細(xì),感興趣的朋友跟隨小編一起看看吧
    2024-06-06
  • 利用Pygame制作躲避僵尸游戲

    利用Pygame制作躲避僵尸游戲

    本文參考了神廟逃亡,利用Pygame實現(xiàn)一個人躲避僵尸的小游戲,主要的是精靈、精靈組之間相撞、相交的處理,感興趣的可以了解一下
    2022-05-05
  • Python:Numpy 求平均向量的實例

    Python:Numpy 求平均向量的實例

    今天小編就為大家分享一篇Python:Numpy 求平均向量的實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-06-06
  • python3?queue多線程通信

    python3?queue多線程通信

    這篇文章主要介紹了python3?queue多線程通信,??Queue???對象已經(jīng)包含了必要的鎖,所以你可以通過它在多個線程間多安全地共享數(shù)據(jù),更多相關(guān)內(nèi)容需要的朋友可以參考一下下文文章內(nèi)容
    2022-07-07
  • Python中的HTTP請求庫Requests的具體使用

    Python中的HTTP請求庫Requests的具體使用

    Python作為一種功能強(qiáng)大且易于學(xué)習(xí)的編程語言,提供了許多用于處理HTTP請求的庫,其中,Requests庫是最受歡迎的選擇之一,本文主要介紹了Python中的HTTP請求庫Requests的具體使用,感興趣的可以了解一下
    2023-12-12
  • 學(xué)點簡單的Django之第一個Django程序的實現(xiàn)

    學(xué)點簡單的Django之第一個Django程序的實現(xiàn)

    這篇文章主要介紹了學(xué)點簡單的Django之第一個Django程序的實現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-02-02
  • 解決paramiko執(zhí)行命令超時的問題

    解決paramiko執(zhí)行命令超時的問題

    這篇文章主要介紹了解決paramiko執(zhí)行命令超時的問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-04-04
  • python基礎(chǔ)之遞歸函數(shù)

    python基礎(chǔ)之遞歸函數(shù)

    這篇文章主要介紹了python遞歸函數(shù),實例分析了Python中返回一個返回值與多個返回值的方法,需要的朋友可以參考下
    2021-10-10
  • pyinstaller打包django項目的實現(xiàn)步驟

    pyinstaller打包django項目的實現(xiàn)步驟

    本文主要介紹了pyinstaller打包django項目的實現(xiàn)步驟,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-09-09

最新評論

大宁县| 宕昌县| 青龙| 左云县| 边坝县| 郑州市| 额敏县| 大洼县| 广丰县| 平舆县| 兴义市| 六盘水市| 余江县| 修文县| 西充县| 金昌市| 图木舒克市| 图木舒克市| 高雄县| 定边县| 凌源市| 民乐县| 外汇| 张掖市| 象州县| 余干县| 新乐市| 灵石县| 聂拉木县| 张家川| 重庆市| 梨树县| 石嘴山市| 马关县| 凤台县| 娱乐| 冷水江市| 杭锦旗| 邻水| 吉林省| 永善县|