24cun_cn 发表于 2018-8-10 08:50:21

案例:python实现聊天机器人

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:new})
  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
  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()
页: [1]
查看完整版本: 案例:python实现聊天机器人