import random #导入随机库
import jieba #导入jieba分词库
class Robot(): #定义机器人类
def __init__(self,name): #构造方法
print('*' * 18 + '启动成功' + '*' * 18)
self.name = name #机器人名字属性
self.say_hi = ['你好', 'Hi', 'Hello', 'hi', 'hello', '好久不见'] #机器人问好内容属性
self.say_bye = ['再见', 'Bye', 'bye', 'Bye-bye', 'Byebye', '再会', '回见', '88', '下次见'] #机器人再见内容属性
def chat(self): #实例方法
flag = False #设置再见标志,初始为假
while True: #无限循环
msg = input('你说:')
#jieba.add_word('下次见') #添加一个词语"下次见"
jieba.load_userdict('words_dict.txt') #载入自定义词典words_dict.txt
words = jieba.lcut(msg) #讲输入的内容进行分词,得到的词语列表存到words
print(words) #打印日志+分词结果
for word in words: #遍历分词列表中的所有词语
if word in self.say_hi: #如果有词语在问好内容里面
print(self.name+'说:' + random.choice(self.say_hi))
break #跳出for循环
elif word in self.say_bye: #如果有词语在再见内容里面
print(self.name+'说:' + random.choice(self.say_bye))
flag = True #将再见标志设置为真
break #跳出for循环
else: #如果所有的词语中都没有你好或者再见内容里的词语
print(self.name+'说:我听不懂')
if flag: #如果再见标志为真,跳出while True循环
break
robot = Robot('小爱同学')
robot.chat()