文章详情

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

请输入下面的图形验证码

提交验证

短信预约提醒成功

案例:python实现聊天机器人

2023-01-31 02:40

关注
import pickle
data = {"你有女朋友吗":"没有","我们可以交往吗":"可以","今晚约不约":"约","去哪家餐厅":"麦当劳"}   
with open("db.pkl",'wb') as f:
    f.write(pickle.dumps(data))
with open("db.pkl","rb") as f:
    data = pickle.loads(f.read())
class RobotUI:
    def __init__(self,name,admin):
        self.name = name
        self.admin = admin
    def talk(self):
        worlds = input('你说:')
        if worlds == 'end':
            return worlds
        else:
            reply = backrobot.answer(worlds)
            print(f'{self.name}回答:{reply}')
            if reply == 'none':
                ch = input('是否需要增加数据 Y/N:')
                print(ch)
                if ch == 'Y':
                    updata = input('请输入 示例(吃饭了吗:吃了):')
                    new = updata.split(':')
                    RobotAdmin.write_data({new[0]:new[1]})

class RobotAdmin:
    def __init__(self):
        self.data = self.load_data()
    def load_data(self):
        with open('db.pkl','rb') as f:
            data = pickle.loads(f.read())
            # print(data)
            return data
    def answer(self,worlds):
        if worlds in self.data:
            return self.data[worlds]
        else:
            return 'none'
    @staticmethod
    def write_data(dic):
        data.update(dic)
        print(data)
        with open("db.pkl",'wb') as f:
            f.write(pickle.dumps(data))

# robot.talk()
while True:
    backrobot = RobotAdmin()
    robot = RobotUI('robot','back')
    if robot.talk() == 'end':
        print('结束')
        break
    robot.talk()
你说:你有女朋友吗
robot回答:没有
你说:我们可以交往吗
robot回答:可以
你说:今晚约不约
robot回答:约
你说:去哪家餐厅
robot回答:麦当劳
你说:今晚去K歌吗
robot回答:none
是否需要增加数据 Y/N:Y
Y
请输入 示例(吃饭了吗:吃了):今晚去K歌吗:去
{'你有女朋友吗': '没有', '我们可以交往吗': '可以', '今晚约不约': '约', '去哪家餐厅': '麦当劳', '今晚去K歌吗': '去'}
你说:end
你说:end
结束
阅读原文内容投诉

免责声明:

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

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

软考中级精品资料免费领

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

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

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

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

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

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

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