如何实现识别输入中的至少一个词汇并返回对应响应?
实现文本目标词汇识别与响应功能
没问题!这个需求其实挺常见的,用Python就能轻松实现。我给你梳理清楚思路,再附上完整代码示例,你可以直接用,还能按需扩展:
核心逻辑拆解
咱们要做的事儿其实分这几步:
- 先定义好目标词汇和对应响应的映射关系,比如"good"对应开心的回复,"bad"对应安慰的话
- 获取用户输入的文本内容
- 检查输入里有没有咱们预设的目标词汇(为了更友好,最好不区分大小写)
- 匹配到词汇就返回对应的响应,没匹配到就给个通用的默认回复
完整代码示例
# 先定义目标词汇和对应响应的字典,想加新词汇直接往里面加就行 response_map = { "good": "太好了!很高兴你今天过得不错😊", "bad": "听到这个我很难过,希望你很快好起来🫂", "tired": "那可得好好休息一下,别太累啦😴", "awesome": "哇,听起来超棒的🎉" } # 获取用户输入 user_day = input("How was your day? ") # 把输入转成小写,这样用户输入Good/GOOD都能匹配到,更人性化 lower_input = user_day.lower() # 遍历所有目标词汇,检查是否在输入里 matched = False for keyword, reply in response_map.items(): if keyword in lower_input: print(reply) matched = True break # 如果只需要匹配第一个关键词就停,去掉这句可以匹配多个关键词 # 要是没匹配到任何预设词汇,就返回默认回复 if not matched: print("谢谢你分享你的一天!要是愿意的话,可以跟我多说点细节哦😊")
关键细节说明
- 不区分大小写匹配:通过
lower()把用户输入转成小写,避免因为用户输入大写/首字母大写导致匹配失败,体验更好 - 灵活扩展:
response_map字典是核心,你可以随时添加新的关键词和对应的回复,比如加"boring"对应"那明天找点有意思的事儿做呀😉" - 多关键词匹配:如果用户输入里有多个目标词汇(比如"My day was good but tired"),去掉代码里的
break,就能依次输出所有匹配到的响应
测试示例
输入:"My day was good"
输出:太好了!很高兴你今天过得不错😊
输入:"I'm so tired, today was bad"
输出(去掉break后):听到这个我很难过,希望你很快好起来🫂那可得好好休息一下,别太累啦😴
内容的提问来源于stack exchange,提问作者Logster
相关产品推荐
相关产品推荐

