【发布时间】:2016-02-02 13:08:08
【问题描述】:
如果我用 Python 提出一个问题,答案是chicken,我想输出一些与鸡有关的东西。而且,如果答案是beef,我想输出与牛肉相关的内容,具体取决于提供的答案。
我该如何构建它?我应该有多个包含关键词和相关答案的列表吗?新手。
【问题讨论】:
-
显示一些示例代码!
标签: python list dictionary key words
如果我用 Python 提出一个问题,答案是chicken,我想输出一些与鸡有关的东西。而且,如果答案是beef,我想输出与牛肉相关的内容,具体取决于提供的答案。
我该如何构建它?我应该有多个包含关键词和相关答案的列表吗?新手。
【问题讨论】:
标签: python list dictionary key words
我会使用dict 的lists:
import random
similar_words = {
'chicken': ['poultry', 'wings'],
'beef': ['cow', 'ground-beef', 'roast-beef', 'steak'],
}
word = raw_input("Enter a word: ").strip()
if word in similar_words:
print random.choice(similar_words[word])
else:
print "Not found!"
有关更多信息,请参阅Data Structures 上的 Python 手册。请注意,我还使用random.choice() 从每个列表中选择一个随机项目。
这是它运行的输出:
$ python words.py
Enter a word: chicken
poultry
$ python words.py
Enter a word: beef
cow
$
编辑:您在 cmets 中询问如果单词包含在整个句子中,您如何才能做到这一点。这是一个例子:
words = raw_input("Enter a word or sentence: ").strip().split()
for word in words:
if word.lower() in similar_words:
print random.choice(similar_words[word.lower()])
else:
print "Not found!"
在这里,我们使用split() 将句子拆分为list 的单词。然后我们循环遍历每个单词,看看这个单词(小写版本)是否存在于我们的dict 中,并执行与上面对单个单词所做的相同的操作。
【讨论】:
similar_words 存在的句子中的所有单词相关的单词!我将添加一个快速编辑作为示例。