那么Hello大家好,我是千年泪,年龄嘛...(12)咳咳,不重要不重要
2021年11月5日这天,我刷抖音时偶然刷到一个python导师***的视频
用3行python代码做聊天机器人,代码如下
while True: 问话 = input("真人:"); print("假机器人"+问话.strip("吗??")+"!");
大致看了一下,就是定义了"问话"这个变量然后print打印出我们输入的原话
再使用strip方法删除我们结尾的"吗??"(也只属于我的猜测,还不咋熟)
我寻思这不自娱自乐呢吗.....
你看我像是那种自娱自乐的人吗?
嗯.....我是!(嘿嘿)
我思考了一下,自动聊天机器人是会检测用户发送的关键字然后输出对应的答复
于是呢我就开始了我的猜想
第一次编写时是这样的
dictionary = {'你好':'你好'} while True: user_input = input() if str(user_input) in dictionary: print(dictionary.keys())
诶...好像...Error了
好吧应该是错了
运行之后把我的key值打印出来了???
最后左思右想,我输入key值"你好"
而它又打印出来我的key值,
到这里也发现事情发展逐渐走偏
那么肯定是方法不对
查阅了一下资料,有个叫get的方法
格式是:"dictionary.get()"
get()后面的括号的参数应该就是我要检索的
第二个参数则是不存在返回的参数
于是修改了一下, 重新定义了一个变量储存着结果
dictionary = {'你好':'你好'} while True: user_input = input() me_print = dictionary.get(user_input, "关键字:=="+user_input+"==不存在字典") print(me_print)
大致解读一下:
我定义了一个字典(dictionary)然后死循环,user_input中储存input的变量(str!)
而me_print则调用了字典中的get()方法,传入了2个参数,1是input的变量,传入get()来检索
dictionary里是否存在于input的结果一致的key值
有 则返回对应的valuse值 无则返回传入的第二个参数
print(me_print)则是答应出返回的内容
运行后:
输入:你好
回复:你好
输入:在吗
回复:关键字:==在吗==不存在字典
那么,至此=。这个自娱自乐的聊天机器人就算圆满完成!
仅作为一个联系,刚学python就是看看能力(笑哭)我估计我也只会这一个
好了,最终我写到最后的源码给大家显示一下:
# 输入的字典(接收用户输入的结果输出对应的values) dictionary = {"你好":"你好" , "在吗" or "在?" or "在?" or "在吗?":"我在"} while True: user_input = input("USER:") me_print = dictionary.get(user_input , '关键词=="'+str(user_input)+'"==不在我的字典里') print(me_print)
自典就是关键字的内容可自行添加key : valuse值
那么这篇文章就到这里
各位, 再见!希望这篇文章对你们有帮助!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)