任务是获取输入的字符串(query)并查看是否有任何单词与字典(rsp_dict)中的键匹配。简单。
words = query.split()
for each in words:
if each in rsp_dict:
print(rsp_dict[each])
但我想不通的是,如果没有单词与字典中的键匹配,如何让它打印出一个短语。我已经尝试了一百万种不同的方法,但我总是以打印每个 False 值的短语结束,而不仅仅是一次。
我真的很希望能从中学习,所以非常感谢任何帮助或指导。也请随时就我对这个问题的措辞提出修改建议。
请您参考如下方法:
这里假设 words = input(*)
使用集合:
not set(words.split()).isdisjoint(rsp_dict.keys())
使用任何:
any(w in words.split() for w in rsp_dict.keys())
使用列表理解:
[w for w in words.split() if w in rsp_dict.keys()]
使用其中任何一个:
if (expression):
print("Found a matching word in phrase")
else:
print("No matches")
不太花哨,但您始终可以使用常规的 forloop 运行。
