文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

Python使用 TCP协议实现智能聊天机器人功能

2024-04-02 19:55

关注

编写聊天程序的服务端代码和客户端代码。完成后,先启动服务端代码,然 后启动客户端程序输人问题,服务端可以返回相应的答案。要求服务端代码具 有一定的智能,能够根据不完整的问题识别客户端真正要问的问题。 程序运行后界面如下图所示。

源代码:
服务端 Sever.py:
from os.path import commonprefix
from posixpath import split
import socket
#建立聊天回复字典
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

到此这篇关于Python 使用 TCP 实现智能聊天机器人的文章就介绍到这了,更多相关Python智能聊天机器人内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯