如果我用Python问了一个问题,答案是chicken
,我想输出一些与鸡肉有关的内容。如果答案是beef
,我想输出一些与牛肉有关的内容,这取决于所提供的答案。
我怎么能安排这个?我应该有多个包含关键词和相关答案的列表吗?新手。
发布于 2016-02-02 13:13:05
我将使用dict
of list
s:
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!"
有关更多信息,请参见关于数据结构的Python手册。请注意,我还使用random.choice()
从每个列表中选择一个随机项。
下面是它的输出:
$ python words.py
Enter a word: chicken
poultry
$ python words.py
Enter a word: beef
cow
$
编辑:你在评论中问,如果单词包含在一个完整的句子中,你如何做到这一点。以下是一个例子:
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
中,并执行与上面使用一个单词相同的操作。
https://stackoverflow.com/questions/35154410
复制相似问题