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

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

字典:存储机器人的相关对话内容,让机器人有相关的“记忆”

循环(嵌套循环):一直去响应我们对应的问题

判断: 执行流程操作

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

#/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初级课程差不多也就到这了,接下来将会进入到中级课程当中

Logo

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。

更多推荐