codecamp

Python3 小实例,问答机器人

小实例,问答机器人

基础知识学了其实也有一段时间了,做几个小的实例还是绰绰有余的。今天我们就一起实操,写一个问答机器人吧

问题来了,要做一个问答机器人我们首先得知道会用到哪些学到的知识点:

  • 字典:存储机器人的相关对话内容,让机器人有相关的“记忆”
  • 循环(嵌套循环):一直去响应我们对应的问题
  • 判断: 执行流程操作

搞清楚了机器人的相关运作流程之后就开搞吧,流程是比较复杂的,不过相信你能搞定。上栗子:

#/usr/bin/env python3
#coding:utf-8


dict = {
    "你好" : "你好",
    "很高兴见到您" : "我也很能高兴见到你",
    "你喜欢吃什么水果 " : "我喜欢橘子",
    "你今年多大了" : "27 岁了",
    "你很漂亮" : "谢谢"   
}


flag = ('c')
work = True


print('你好,我是python机器人')
print('你有时间跟我聊聊吗')
while flag == 'c' or 't':
    flag = input("你可以选择是否跟我聊天(c),还是决定练习下我的对话能力(t),或者让我推下(l)?(c/t/l)")
    if flag == "t":
        question = input("请输入你想问的:")
        answer = input("请输入问题答案:")
        dict[str(question)] = str(answer)
        print("学习成功")
        print("现在我已经学会了%d个问题"%len(dict))
        continue
    elif flag == 'c':
        if len(dict) == 0:
            print("现在我还不会回答任何问题,请先让我学习:")
            continue
        chat_word = 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("Sorry,这个问题我回答不上来")
            work = True
    elif flag == 'l':
        print("好的,那我们下次再聊")
        break
    else:
        print("请输入提示指令")
        continue

这是讲字典,循环,判断结核的比较好的一个实例;为了方便你以后能灵活使用相关技术,希望能够多思考将这些知识点组合运用起来转化称自己的思路,不断的练习方能起到学以致用。我们的 Python 初级课程差不多也就到这了,接下来将会进入到中级课程当中

Python3 I/O函数
温馨提示
下载编程狮App,免费阅读超1000+编程语言教程
取消
确定
目录

关闭

MIP.setData({ 'pageTheme' : getCookie('pageTheme') || {'day':true, 'night':false}, 'pageFontSize' : getCookie('pageFontSize') || 20 }); MIP.watch('pageTheme', function(newValue){ setCookie('pageTheme', JSON.stringify(newValue)) }); MIP.watch('pageFontSize', function(newValue){ setCookie('pageFontSize', newValue) }); function setCookie(name, value){ var days = 1; var exp = new Date(); exp.setTime(exp.getTime() + days*24*60*60*1000); document.cookie = name + '=' + value + ';expires=' + exp.toUTCString(); } function getCookie(name){ var reg = new RegExp('(^| )' + name + '=([^;]*)(;|$)'); return document.cookie.match(reg) ? JSON.parse(document.cookie.match(reg)[2]) : null; }