Python 如何解构和回答一个三字句子
我正在尝试编写一个代码,用一个代词、主语(名词)和动词组成一个三字句子。我恨你。然后识别每个单词(无论是名词、动词还是代词)并记住名词和动词。然后它将以一种非常明显的方式对判决作出答复,例如:; 输入:我讨厌苹果。 回答:你为什么讨厌苹果? 输入:我做运动。 回答:你为什么做运动 非常简单的东西,但我很难把句子中的每个单词都拆开,然后保存它们所属的类型。稍后我将讨论专有名词,因为现在我将讨论一个大约2000个名词的简单列表Python 如何解构和回答一个三字句子,python,python-2.7,python-3.x,Python,Python 2.7,Python 3.x,我正在尝试编写一个代码,用一个代词、主语(名词)和动词组成一个三字句子。我恨你。然后识别每个单词(无论是名词、动词还是代词)并记住名词和动词。然后它将以一种非常明显的方式对判决作出答复,例如:; 输入:我讨厌苹果。 回答:你为什么讨厌苹果? 输入:我做运动。 回答:你为什么做运动 非常简单的东西,但我很难把句子中的每个单词都拆开,然后保存它们所属的类型。稍后我将讨论专有名词,因为现在我将讨论一个大约2000个名词的简单列表 from nouns import nouns_list from ad
from nouns import nouns_list
from adjectives import adjectives_list
from verbs import verbs_list
from adverbs import adverbs_list
from pronouns import pronouns_list
test = raw_input("Please input a fruit: ")
words = test.split()
#numbers = map(int, test.split())
#use later!
def word_identify(words):
for word in words:
if word in nouns_list:
print words + " is a noun!"
word == noun
elif words in verbs_list:
print words + " is a verb!"
word == verb
elif words in pronouns_list:
print words + " is a pronoun!"
word == pronoun
elif words in adjectives_list:
print words + " is an adjective!"
word == adjective
elif words in adverbs_list:
print word + " is a adverb!"
word == adverb
elif words == 'i' or words == "I":
print "This is the I pronoun!"
word == 'you'
else:
print "Word " + words + " not identified!"
return -1
return 1
while word_identify(test) > 0:
test = raw_input("Please input a fruit: ")
最后,我将只刊登一个简单的广告“为什么”+动词+名词+'?”
基本上,我问的是如何正确使用.split()函数,以及如果特定单词被触发,我如何记得使用哪个函数?事实上,它将返回一个动词在一个不适当的时态是罚款我,我会处理这以后!
非常感谢
布拉姆
编辑:忽略
numbers=map(int,test.split())
当您使用=
操作符时,您正在比较两个对象。因此,word==副词
根据对象是否相等返回True
或False
。相反,请尝试以下方法:
def word_identify(words):
parts_of_speech = []
for word in words:
if word in nouns_list:
print word + " is a noun!"
part_of_speech = 'noun'
elif words in verbs_list:
print word + " is a verb!"
part_of_speech = 'verb'
...
else:
print "Word " + word + " not identified!"
part_of_speech = None
parts_of_speech.append(part_of_speech)
return parts_of_speech
然后,word\u identify()
将返回类似以下内容的列表:
['pronoun', 'verb', 'noun']
如果它不能识别一个单词:
['pronoun', None, 'noun']
选中此项:
d = {'noun':nouns_list,
'pronoun':pronouns_list,
'adjective':adjectives_list,
'verb':verbs_list,
'adverb':adverbs_list
}
def part_of_speech(word):
for pos,l in d.items():
if word in l:
return pos
return None
def get_parts_of_speech(sentence):
return [part_of_speech(word.lower()) for word in sentence.split()]
sentence = raw_input("Enter a three word sentence [<noun> <verb> <pronoun>]:");
print "The parts are:", get_parts_of_speech(sentence)
d={'noon':名词列表,
“代词”:代词列表,
“形容词”:形容词列表,
“动词”:动词列表,
“副词”:副词列表
}
def词性部分(单词):
对于pos,d中的l项()
如果单词在l中:
返回位置
一无所获
def get_词类(句子):
返回句子中单词的[词性部分(word.lower()).split()]
句子=原始输入(“输入一个三字句子[]:”);
打印“部件是:”,获取演讲(句子)的部件
这非常有帮助!唯一的问题是,现在它没有输出任何东西!我查看了代码,无法找出原因,因为打印功能确实存在。您必须发布一些代码,否则我们看不到问题。如果您的问题已解决,请选择一个答案标记为正确。