任务是获取输入的字符串(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 运行。
我是一名优秀的程序员,十分优秀!