dict = {
  'hello': 'hello'
}
flag = 'c'
work = True
print 'hi,my name is python.'
print 'do you want chat with me?'
while flag == 'c' or 't':
  flag = raw_input("你可以选择和我聊天(c)和我训练对话(t),或者让我离开(l)?(c/t/l)")
  if flag == "t":
    question = raw_input("请输入问题(key): ")
    answer = raw_input("请输入你的答案(value):")
    dict[str(question)] = str(answer)
    print u"训练成功"
    print u"现在我已经会%d个问题了!" % len(dict)
    continue
  elif flag == 'c':
    if len(dict) == 0:
      print u"我现在还不会问题,请先训练我!"
      continue
    chat_word = raw_input("谢谢你和我聊天,你想对我说点什么?:")
    for key in sorted(dict.keys()):
      if str(chat_word) == key:
        work = True
        print dict[key]
        break
      else:
        work = False
    if work == False:
      print u"抱歉,这句话我还不会回答"
      work = True
   elif flag == 'l':
     print u'好的,下次再见'
     break
   else:
    print u'请输入提示的指令'
    continue

(Python2)自动对话机器人 代码的更多相关文章

  1. 树莓派打造对话机器人 Python(转)

    工具列表 1. **树莓派**(型号不要求,本人使用的是3B) 2. **usb麦克风**(某宝有卖,我就不打广告了) 用来录音 3. **音响或者喇叭**(某宝也有卖) 用来播放 以上就是需要的工具 ...

  2. 打造一个window桌面应用:在线聊天对话机器人

    大家好,我是辰哥~~~ 本文目标:打造一个window桌面应用:在线聊天对话机器人. 今天辰哥教大家做一个在线聊天对话机器人桌面应用,已经打包成exe可执行文件,读者可以直接拿来使用, 先上演示图 聊 ...

  3. [Dynamic Language] 用Sphinx自动生成python代码注释文档

    用Sphinx自动生成python代码注释文档 pip install -U sphinx 安装好了之后,对Python代码的文档,一般使用sphinx-apidoc来自动生成:查看帮助mac-abe ...

  4. JS倒计时网页自动跳转代码

    <title>JS倒计时网页自动跳转代码</title> <script language="JavaScript" type="text/ ...

  5. inno安装卸载时检测程序是否正在运行卸载完成后自动打开网页-代码无效

    inno安装卸载时检测程序是否正在运行卸载完成后自动打开网页-代码无效 inno setup 安装卸载时检测程序是佛正在运行卸载完成后自动打开网页-代码无效 --------------------- ...

  6. Linux oracle数据库自动备份自动压缩脚本代码

    Linux oracle数据库备份完成后可以自动压缩脚本代码. 复制代码代码如下: #!/bin/bash #backup.sh #edit: www.jbxue.com ##系统名称 sysname ...

  7. wsdl自动生成Java代码,根据wsdl生成Java代码

    wsdl自动生成Java代码,根据wsdl生成Java代码 >>>>>>>>>>>>>>>>>&g ...

  8. Eclipse没法自动补全代码解决

    Eclipse没法自动补全代码解决   Eclipse无法自动补全代码解决 Window->Java->Editor->Content Assist->Advanced

  9. 可以放在html代码中的自动跳转代码

    可以放在html代码中的自动跳转代码 有3种方法可以实现html的页面跳转,1,refresh   2,onload事件中加入代码  3,js实现 1.<html><body> ...

随机推荐

  1. python中os模块和sys模块的常见用法

    OS模块的常见用法 os.remove()   删除文件 os.rename()   重命名文件 os.walk()    生成目录树下的所有文件名 os.chdir()    改变目录 os.mkd ...

  2. JavaScript中编码函数escape,encodeURI,encodeURIComponent

    第一:escape():对字符串进行编码,escape()不编码的字符:@*/+ 第二:encodeURI() 函数可把字符串作为 URI 进行编码.不会进行转义的:;/?:@&=+$,# 第 ...

  3. 使用ranger对kafka进行鉴权

    使用ranger对kafka进行鉴权测试环境:ranger-kafka-plugin为0.6.3版本,kafka版本为kafka_2.10-0.10.1.1,且kafka broker为一个节点.一. ...

  4. centos6.5搭建hadoop完整教程

    https://blog.csdn.net/hanzl1/article/details/79040380 博客地址http://blog.csdn.net/pucao_cug/article/det ...

  5. HTML5移动端触摸事件

    一.移动端事件问题 1.click事件300ms延迟问题 2007年第一代iphone发布,移动端Safari首创双击缩放功能,原理是click一次后,经过300ms之后检测是否再有一次click,如 ...

  6. 小小知识点(十三)——MATLAB中怎么保存和读取.mat文件

    1.存储 利用save函数 save(filename)  %将当前工作区中的所有变量保存在 MATLAB® 格式的二进制文件(MAT 文件)filename 中. save(filename,var ...

  7. [转帖]rsync简介

    rsync用法详细解释 https://www.cnblogs.com/noxy/p/8986164.html 之前一直使用 scp 现在发现这个命令更好一些. 提要 熟悉 rsync 的功能及其特点 ...

  8. spring 方法验证参数

    1:实体使用 @Valid    使用 validation  类注解 2:String 使用 controller 添加 @Validated @NotBlank(message = "i ...

  9. Python——pyqt5——智能提示(lineEdit/conmbobox)

    一.文本框智能补全 completer = QtWidgets.QCompleter(data) completer.setCompletionMode(QtWidgets.QCompleter.Po ...

  10. 起步wex5 谷歌浏览器兼容性问题,CheckBox不显示